(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Page 6 Magazine Issue 84"

We still have the very best PD library 
for the Atari Classic 

There are over 400 disks available 

Many disks are only £1 .50 each 

Collections and special sets are even cheaper 

EVERY PURCHASE OF A PD DISK 
HELPS TO SUPPORT THE MAGAZINE 

DID YOU REALISE? 

We still have the entire ST library available 

There are over 1 ,000 disks 

Disks are only £1 each 

We will send you details on request 

KEEP SUPPORTING US 
AND WE WILL KEEP SUPPORTING YOU 



Page 6 Puhtishiug's f\^ ^^ \i\f 



ATARI 




The Resource for the ATARI CLASSIC and the ATARI ST 



Issue 84 -May/June 1996 



^.50 



FOR THE ATARI CLASSIC 







O THE SEARCH IS ON 

Search and sort routines 
O USEFUL USE 

Crack the connection between 
Basic and machine code 

O CD COLLECTION DATABASE 

The next best thing to a CD cabinet! 



M mm SCENE 



FINDING A 
HOME ON 
THE INTERNET 













'Jj P-'B!L"."-'?*T'!FWTflP; ' r**— 0'*g^iS»agw^i 



if<ga^»6i!gu»»flaB^ 



ai/s ... ^om m paradise ... happy typeb... spartados ... mtiBAG ... and mobb! 




ThanJcs 



Lea ElUngham puts it all together and fUlla 
up the gaps but the teal thanks gpcs to the 
following who made this issue possible 

Sandy Bllingham who takes cane of all the 
office work, advertising and mail order 



For their contributions 
Raphael Bspino 
Allan Palmer 
Dennis Hedges 
James Austin 
Eddie Jones 
Kevin Cooke 
Paul Herbert 
John Foskett 



this issue 
James MatthHek 
Joel Goodwin 
Dennis Fogertu 
AMstin Hilbnan 
Daniel Yelltmd 
M. Tomlin 
John S Damson 



AT^aiAyGIES 



1 sum sllll r-Xtj-tmely poor In acknowledging 
contxibutlons so I apologise to everyone 
who has sent in stuff and thought It has 
gone tJirough the w^omnliole. The intention 
to reply to everyone is tlaerc but the time 
scenw to drift by. If you have not heard, 
thank you and keep watcliing the mag, you 
might be surprised, 

HOW IT'S DONE 

PAOl iust what yuu cfui do witii vour Atan. 

NEW ■ KK has ahroya been created entliiciy wlUi 

Atari equipmcnl. tniUally on the XL but more late!ly wilii 
a Mega ST and other stuti, who needs PC's or Maceil 
Harriware includes a Mega ST2 (upgraded lo 4Mb), 
SM 1 25 Monitor, Supra 30Mb Hard Disk, a HP Lascijet 
111, (Htzen 124D printer. PhUlpe CM8833 monitor, 
] .Tin ■; K, a ronplr of 1050 disk drhes, 850 interface. NKC 
•=d software used la Protext and 
r 3.0. Other software Includes Ker- 
miu 1 art 1 alK, i urbo Uastc and varto«» custom written 
programs on the XL/XE. ArOclea submitted on XL/XE 
disks are transicnncd across to the ST %1a TARfTALK. 
Programs are coded on the XE and printed out directly 
for pasting In .ifter the typesetting is completed, AH 
iiiiijor fditb i^ !-, done with Pnotcxt and pages are laid out 
with Fleet Sirect Publisher, Each page Is output directly 
from Fleet Street to a IIP Laseijet III which produces 
finished pa^ea exactj^- as yoti see them. All that to left Is 
tr li rop tn the listings and photos. 

\S'cU. It's not quite as easy as that but you get the Ideal 



InspircLtioTL 



it ae^na amix a hng Htk hetuxen Issues that ; o/Vn t^tue to 
lack isp Luhot ,1 ica» V^imtSrg to iosl »n$. Quite o/icn 1 Htnk (hot J 

uxioiY CR thefkifjH^ la«t ttrrv- Sk^ t» tTie txise lutch Ov CD 
jAaiflng right nan bi; t^'oleld. Th^ gr'^tJP aOnfmsea t^BUa 
CoolkSge. f«r *(ste?-fWsdfla!indLauraSan«r^k}uffr)lft*ifc(s 
PrisdSSa's daughter, it is inatimSyl) fj/Nalhx American frijbiewv 
iha^ no mote sc fftart tfi« ahuma by Buffy St. Merle tfthe 
sbdiES tmd seVtr^Hes, ^Oa OxiHt^ ti ofCheftkBe deaoeri ani 
has tvettnly decided to errbrace her roots were tUxfii). The 
resuk is a si^icrb coQeicflon t^irioclcrrj ^ot^ iMiJust the r1gf\t 
NcHiM Afnetttcait ttTfiasice. I bet Tm the ijniy person to hmi« 
dlsctxwvd (/as, apr aS hou: mojiy peoplf Sock In the Naibv 
AmBlcan seciSanqfthE Waid Music rt>ck ti their tooal sicfe? I 
oan't urrierstarid njfiy thts is not pramoied ti tfi* mofristnprun 
nmslc sectkm. A\so be^ig jAEa/ed TvOenS:^ is a onr^ptlaflon tK&id- 
Ot^ Iradis, btj Jim Hzge (ho, not Jfrrrm^. Jofsv^e Shantndoah. 
EBen Kictwr, Larty UmQ and lAife Rabbins. Bet you baix rm/a- 
hetrd qftrof i^them. WtILf ond teS me Ififm haoe. 

CONTRIBUTIONS 

Without contributionMjrtmi its readers, NEW 
ATARI USER mould not be possible. PAGE 6 
welcomes and encourages its readers to sub- 
mits articles, programs and reviews Jbr publi- 
cation. Programs must be submitted on disk 
or cassette, articles ihouid wherever possible 
be submitted as textjiles on disk. We seek to 
encourage your participation and do not 
have strict rules for submissions, ^some- 
thing interests gou, unite a program or arti- 
cle oTui submit itf 



COPYRIGHT 

All original articles, programs and other ninirri.^I tn 
NEW ATARI USER remain the copyrigln 
thoras credited. All uncrcditrd material ! 
PAGE 6. Permission muat Vk soufijit by anyon 
wishing lo republish any matcnaT. Whilst wc 
whatever steps wc can to ensure the acci 
articles and_pn)gTHma and the contents i 
merits, PAGE 6 cannot be held liable ior any errors 
or claims made by advertisers, 

ATARI <TM) !• • «««»■•» IradBfnai* of ATAffl COflP. AH 
retefwCM «houM be u noted. NEW ATARI USER it wi 
lncl«p«n<l«m pubUcwlion and hai. no eonneeiion wllti Alan »r 
with m\Y rthw «qin|ifny or pt^llttiw. 



^ 



Emoriat am&SS: P.O. Box 54, Staffofd, STie 1 DR, ENGLAND Tel. 01785 2411 53 
Editors, Publisher: Les Elllngham • Advertising: Sandy Ellingtiam 
Page layout by PAGi 6 - Printed by Dolphin Pt^s, Fife, Scotland 01592 771652 
NEW ATARI USER ts published bi-monthly on tfie last Thursday of the month prlof to cover datc_ 



Page 6's New Atari User 



PAGB 6 PUBUSHiNG's 

ATARI 



'The MagHzine for the 
Dedicated Atari Usee' 

ISSN No. 09:5^7705 



REGULARS 

EDFTORIAL 4 

MA1LBAG 6 

THE TIPSTER ie 

WORM IN PARADISE 
CLASSIC PD ZONE 38 
THE ACCESSORY SHOP 45 

ONLY A SHORT 
WHILE TO THE 
NEXT COPY 
DATE - PLEASE 
CONTRIBUTE 



CONTENTS 

Issue 84 ' May/ Jtuie IddS 



PROGRAMMING 

3D RIPPLE S 

A neat Utile graphics pwgram 

HASIC LISTING SKARCKER 13 

Ajar quicker umy to change listings 

OBJET D'ART 20 

Previous lessons demonstrated 

HAPPY TYPER 37 

A super program typing utHtty 

FEATURES 

CI> COIXECTION DATABASB 30 

A simple way to keep trade qfyow coUection 

USEFUL USR 32 

Bridge the gap between machine code ami Basic 

SORTING AND SBARCHING 42 

Rouiines to indude fri your prograins 

SPARTADOS 47 

AjiM list ofcoimnands 

PRA,CTICAL USE OF THE INTERNET 3 O 

John Davison's Joumsy Into Cyberspace 



COPY DEADLINE FOR NEXT ISSUE - I2th JULY 



MAGAZINE ONLY 

Annual subscriptl-on ratas (6 JSSl^s) 

UK £1S.OO 

EuropefAlrMail) £17.00 

El9«whar« {Sur1»ca]f £17.00 

Elsawharfl (Air Ma 11]^ Q3,00 

OvBTseas fates rBitsc! only (hg differencs in 
posS^cosls 



DISK SUBSCRIPTION 

A t)lak cofilBinlrB *4I d4 lh» h^M program* from ««eti 
9*>u* {94 NEW ATAFtr USEfl it waHabl* aitlwr aeparMi 
)y or dt) HJtiaiiriplicn, Sing^ pric* t2,<fs per cilsk, a 
di«k at^acrir^krii svvaa you almoat Eft a y*M'. Sub- 
■cilption rmas (& toMJta) 



UK 

Europa 

ElMwhera {sal 
ClMWhare{Alr)i 



£25.00 
£32,00 
£32,00 
£43,00 




Please make cheques payable to PAGE 6 PUBLISmNG and send to 
PAGE 6 Publishing, P.O. Box 54, Stt^ord, ST16 IDB 



T^cCitoriaC 



For oite of the few times In the past ten years or so I can't readily think of something to 
rattle on about in the editorial so I guess TU go ta the old standby of asking for your 
contrtbutlons. In fact this not really a standby but an important topic at the mament 
for If you don't contrlbi^tie something we wlU soon be sLruggling to fill the magazine. We're okay 
for the next couple of issues but there Is vciy little In reserve and I need to think far ahead. 
Whenever 1 make these pleas for contributions the old faithfuls such as John Foskctt always 
respond with another disk or two full of articles and programs and, whilst these are more than 
appreciated, we can't keep iclying on the same contributors Cfme and tltne ag^n> Apart from 
anytlilng else these people wlU probably dry up one day so don't rely on others to make the 
oontilbudoos. tiy and think of something you can do. Of course not c\'cryone can write 
programs or compose articlca but anyone can write a letter and tliat is a good starting point. A 
full MaUbag Is a solid foundation for any Issue and you can bcgjn by responding to any topics 
that interest you In this Issue's Mallbag. If there is nothing much of interest then write to us 
about something you arc interested in, it doesn't even have to be about Atari related 
eomp'Utlng, as the recent interest in the Internet has shown. 

If you want to do more than just write a letter, then a good idea is to take your favourite 
program (a PP program Is prxibably best since these arc readily avallablel and do a oomprehen- 
slve write up on it If you use a program regularly then you should know it Inside out by now. 
Share that knowledge with others. Eten't be afraid to do an overview on similar tjrpes of 
programs, for example comparing the various word processors that are available, tlow about 
taking a PD program and writing about what isn't tn it? TeU readers about what you would Uke 
to see In your dream program and maybe someone will be Inspired to write It. 
So what other Ideas are there? 
«■ Send In a Ikvotirite programming routine you use often and tell us how it works, 
w Polish off a program you have written and send it In. 

•*■ Find good programs from other publications, as Dennis Fogeriy did this Issue. 
«■ Find an article somewhere that you think could be written better and make it interesting 

for us all, 
w Dig out sDrr^ good PD programs we don't have and send them tn to be used as disk 
bonuses. 
And this Is only a few of the ways you can help I 



THIS IS 

niPORTM 



1 have said many Lbncs that this is your mag;azlne, full of 
your contributions and you m.ust stay committed for us to 
survive. With the pressure of work In trying to keep the 
mortgage paid 1 simply don't have the time to 1111 tn huge 
sections of the magjazine as I may have done several years 
ago so ] am relying on you more than ever to make my Job a 

lot easier, and to make New Atari User as interesting as It has always been. 
You now it makes sense. Please start thinking now and writing tomorrow! Once you start it 

becomes a lot easier and when you see your name in print you will be Inspired to contribute 

again. That's our future. 



Lis *ElIingfiam 




PROGRAMMING 

3D RIPPLE 



Raphael Espino presents 
this neat little programfor 
a great graphic design 



This program creates a 3D ripple surface 
which serves no purpose except that It is 
Interesting to look at once it Is complete. It 
does take a while to run so you will need 
some patience but the result is well worth IL 1 
suggest that you run the program with Turbo 
Basic which will speed up the drawing or even 



m 1 REM 

SJ 2 REM I 3D RIPPLE fiV RAPmEL ESPINO | 

m 3 REM 

ID 10 GfiSPHICB 24:C0L0R l\m=imm^i^iif 

^mim^2i:m=2.m59/mumi\m :S 

IK 2S PXH=t92tP)(W=32Bia=!#:CY-5fi:CH=CT)( 
W:TRAP iee:SW=2IWPXW;SH=iWCY)yP){H 

AH 38 FDR X=-m TO « STEP liFDR Y--ZH TO 
2H STEP A 

JO « y=SaRaixmY)/18:3^SmCU)/V:YNY3( 

ST+miSN 
BH 58 IF Y=-ZM THEN niNY=rP:t*OT-YP 
XD 69 IF YP)mXY THEN mXY=^P!PL(JT CXWS 

M , (PXH-2) -(YP/SHfCY) iPLOT i. FM- 1) -(CX* 

X/3<),(PXH-2)-(YP/SH+I:Y) 
IS 71 IF YP<HINY THEN rilNY=YP:PL(JT CX+X/S 

W,(P3(H-2)-(YP/SH+mjPLOT (P?a^H)-(CX* 

)C'SU),(PXH-2J-aP/SH+Df) 
n BB NEXT YiNDa X:POKE 77,12G 
yK n GOTO 99 
NU 101 THAF 196! SOTO Of 



try compiling it with the Turbo compiler. Re- 
member to sa^t a Basic version though as 
you might want to experiment with the para- 
meters. 

MODIFYING THE PROGRAM 

If you want to try and modify the program 
note that the rnaln variables are; 

XM Width of th@ surface 

YM h sight of the *b urn ps" 

ZM apparent depth of view 

AW3 angle of view (in degrees} 

PXN height of screen in pixels 

PXW width of screen in pixels 

CX centre of shape Korizontally 

CY centre of shape verticalfy 

To Use a different graphics mode change the 
GRAPHICS ffimmand in Une 10, and vari- 
ables PXH, PXW, CX and CYto suit your new 
mode. For example, mode 7+16 would be 
PXH=96 PXW=160 CX=80 CY=25. CY should 
be roughly one quarter of PXH and CX half of 
PXW. You should also change the values In 
the STEP conunands in line 30 by doubling 
them each time the screen size is halved. 

To change the shape's position on the screen 
then change CX and CY and to change It's 
height and width then change PXH and PXW. 

Try also changing the following Unes. 
Line 30 - increase the numbers in the STEP 
commands to speed up the drawing. This will 
make the drawing Tjlockier" however. 
Line 40 - the second equation (SIN(V]/V1 is 
the one that detjermines the shape of the 
surface. Also tty S1N(V]'^2/V and 
SlN[V)*COS(V)/V for dlfTerent shapes. • 



Page 6's Neui Atari User 



Page 6's New A tart User 



Mailhag 




This issue's 
Mailbag 
conducted by 
Les Ellingham 



INTERNET SUCCESS! 

Aft£r deia&ing my expeviences 
on the Internet last issue, 
Allan Palmer came to my res- 
cu/e and prouided a cauple of 
pages of Web addresses re- 
lating to Leonard PelUer and 
odwr 'links' cffinieresL He 
obvioiLsly has the experience 
tajind ivhat J could not Soine 
of Ms cormrtents will be of 
general, interest SO here ore a 
jew things h^ hfui to sayt 
"Having dabbled with the In- 
ternet aaid crcallng a. simple 
home psige when I Urst ac- 
quired a PC back in 1995, I'm 
now a conJesised cybemaut 
(or should that be cybemut?). 
Part of my spare tlnic Is 
spent in maintaining the Web 
pages relating to The Cava- 
liers - Basingstoke's award- 
winning youth marching 
showband [of which my 
daiaghtcrs arc miCiiibers), and 
also to niajntaining Lhc Web 

6 



pages of the British Youth 
Band Association (BYBA) - 
the natlanaJ organisation 
which co-ordinates and 
promotes youth banding. In 
case anyone*? intercstedH the 
URLs for these pages are 
hltp ://www . the -cavaliers.org .u k/ 
and http://WWW.b¥ba,Drg.ulk/ re- 
spectively. 

Your editorial recounted 
your attempts to research 
Leonard Peltier on the Inter- 
net and you were surprised 
that using the Yahoo seBLrch 
engine you only retrieved a 
handful of hits. This may be 
down to a couple of things - 
flrstly, the content of the Net 
contEnucs to grow exponen- 
tially, keeping track of It is 
more than a fuU time job; 
secondly, web pages are Inde- 
xed by tags within the HTML 
code which list relevant 
keywDids for search engines 
to use, if a word or phrase 
you're Interested in Isnt In- 
cluded In the tag. It won't be 
indexed. There are some 
search engines which buHd 
their Indexes by scanning the 
web and the actual content of 
pages, but of course they've 
got to find all the pages. 

I did a quick search via 
Wcbcrawler and came up 
with a number of hits con- 
cerning Leonard Peltier and 
enclose a print out of various 
addresses which may be of 
use next time you go cyber- 
atirfing. Aa opposed to a 

Page 6's New Atari LTser 



Cyber Cafe, have you tried 
your local libraiy? Ours pro- 
vides Internet access, I 
understand, of some form." 

T Allan's list of addresses 
was supeTb and. hns enabled 
me io get much tnore value 
from my second fiver. As tx> 
local lifcrartes, some people 
are lucky, others not depetvi- 
ing on the loccd authority. 
StCfffordshtre libraries have 
no public Internet access of 
any kind as they "are await- 
ing a policy decision". Ida 
kriow that the main library in 
Soulhend offers free Internet 
access, cdl you. have io do is 
book your haiw tv advance. 
Also the iShrmy in the littie 
vHiage of Street In Somerset 
offers public access, although 
I don't kiww if you have to 
pay* if they can do it why 
can't all libraries? 

It Li>atj!d be €tn exceUent idea 
y we could put togethsr cm^ 
article on pttblic Internet ac- 
cess with the help of our 
readers. If any qfyoa know of 
Cyber Cafes in your area, 
find out what they charge 
and send us the detaSs 
together with their postai 
address, Jf you. use the Jnier- 
Tiet at your local library let us 
have detaiis of what they 
charge and what their policy 
is, for instance do you have to 
be a member qfthatparticU' 
lor library or is access open to 
anybody? Is there such a 
thing as 'libraries Ort-llne' on 




the IrUemet that wiR give de- 
tails of all the libraries that 
are connected up? Here's a 
good charge for soirre of you 
to contribute io an article, 
even if you can't write the 
article yourself (although a 
uolunteer Would be more than 
welcome!). The Internet really 
Ls a fabulous tool for research 
and it would be good if those 
cf us without PCs or modems 
could get to use it a Kflie more 
easily. 



TRANSFER REQUEST 

Denrds Hedges from South- 
iunpton has been having a 
few problems transferTlng 
data between the Atari and 
his PC but has worked out 
some of theprotiems as he 
ejqplcdns: 'With regard to Phi- 
lip Brown's problems with 
the D.M, Transfer cable, I 
had the same trouble of no 
Interaction between the PC 
and Atari. Having printed out 
the 36 pages of Information 
from the file Readme .txt on 
the disk, and anything else 1 
could And to read, I must say 
that Nick Kennedy really 
does eiKplain eveiythlng very 
well, although I did not 
understand a lot of the tech- 
nical parts. 

Having read it all, I still 
could not get the Atari to rec- 
ognise my PC, Anyway I did 



manage to crack it thus: Get 
SI02PC up and running on 
the PC, then load 
1V1YDOS453.ATR on to the 
virtual Drive One, Then press 
A on the PC keyboard to get 
the Ltmlng screen up. Press T 
which toggles the sense of 
command line input. Switch 
on the Atari and the com- 
mand line at the bottom of 
the program should change 
to DEV 31 or 4F. Type DOS 
on the AtEiri and you should 
get the IX)S piograin on the 
nionltor. I did experiment 
with some of the timings, but 
tills did not seem to make 
much difference, oriiy on 
UAKT, 

There seems to be a lot more 
to transferring ganrtes and 
flies than is made out but I 
hope that this wiU help 
someone." 

T Thanks Dennis, I have to 
admit that I didn't under- 
staryd much of it, butlgi^ss 
if you've got the progrmn up 
on the mordior in front of you 
It wM make sense. / hope thai 
Philip is TK}W up and rurtnlriij 
and maybe some others will 
be helped as well. 



MORE INTERNET 

James Austins letter arrived 
Just a oot^Ie of days afier I 
had completed the last issue 
so refers to items raised in 

Page €'s New Atari User 



Issue 32. It is stiR interesting 
so let's hear from James: 
"First oiT, regarding the letter 
from H,S. Wood, could he, or 
anyone else, explain what a 
P,LC. Is? Presumably they 
are something to do with 
PC's, As regards connecting 
an Atari to a PC, 1 don't cur- 
rently own a PC and don't 
intend to get one in the near 
future, but I do find U In- 
teresting Lo read abou t, as 
long as the subject matter 
does not get too technics , 
because It then goes way over 
the head of users such as 
myself who do not own a PC- 
It's okay as long as it doesn't 
take up too much of an Issue 
and so overshadow other 
topics. It hasn't happened yet 
but I feel that we should be 
careful not to let this happen. 
On a similar note, I have 
ff^und reading about the In- 
ternet, In John S Davison's 
'Journey Into Cyberspace* 
very Intcicstlng. It is a pity 
that it Is so expensive 
though- I have only been on 
the Internet once or twice at 
school, when the teachers 
aren't looking or when it has 
accidentally been left turned 
on, which isn't often, but 
have managed to find several 
ATARI -specific Web sites, in- 
cluding an ATARI S-Blt web 
site at the University of Kent 
at Canterbury (presumably 
there are similar web sites at 
other universities?], also a 




"EMgital Antic/Diglta] Analog" 
web site where all the arti- 
clfia/pmgranis &Dm the 
magazines can be found and 
downloaded, there la also a 
really Interesting site where 
screen shots and tnformattDn 
on all the classic Atari gaimes 
can be downloaded and 
viewed. There also appears to 
be a lot of information on the 
Ntl about new ATARI com- 
TTiencial games from thft 
States. I never had the time 
to write down any of the Web 
site addresses for these but 1 
found them pretty easily 
using the Netscape seareh 
{adiity, so perhaps John or 
someone else with access can 
have a look around for some 
of these sites and maybe 
send In Information about 
them, maybe also sending In 
any downloaded artleles/tii- 
formatlon that might be of in- 
terest to readers. Perhaps a 
regular section could be set 
up in the iTiaga2ine, In addi- 
Uon to John S Davison's col- 
umn, where this stuff could 
be sent In and published for 
■everyone who can't get [nter- 
net access. 

Before 1 close, a couple of 
cries for help. Plredy, does 
anyone out there own a 
1029? If you do then would 
anyone tare to test a new 
piece of software that I have 
written for it? If so PLEASE 
contact me at the addres s 
below. It will come with a 

a 



manual fully explaining how 
to use It and detailing all of 
Its fcatujes. I'm asking thds 
because I really need some- 
one Impartial to test It out for 
me to see if It's worth me 
completing It and maybe 
sending it In to PAGE 6. Also, 
does anyone know where 1 
can get a full working l.'CrBlon 
of Daisy Dot III {Lc. the one 
that aUowayou to use multi- 
ple fonts In a didcuinent has 
SpartaDaa X support, etc.}? If 
you do then please write to 
me at the address given." 
T Thanks for sonv tnterest- 
(ng points James* Your com- 
ments ai»ut usii^ the Inter- 
net at scbixA seem to echo 
other schiaol's treatment of the 
IrdemeL At my son's schooi 
thsy got competed up severed 
months ago via. a special deai. 
with the loccd caiAe oo/r\pany 
whkh e^eetfvely cast them 
peanuts. When theyj^st (nl- 
k&i about it they scdd that 
they could probobfiir offer gen- 
eral Intsmst access at aroutvi 
sop at haur, arvi actuaRy 
make a profit from iL It has 
filmed out hctwever thst use 
has been seuerely nestrtcted 
so thatpupfis can o/Jy use 
the iTVtemet during school 
tiine fn connection with school 
pn^ects only in the prese-nte 
of teacher. What a total waste 
of such an important research. 
tool! They are many responsi- 
ble chSdren (my son UKluded) 
wha would love to iise the In- 

Pc^e 6's Neiu Atari User 



temet in their DUsn time, espe- 
cially at lout cost, vjho are 
being denied stish use be- 
cause the school can't lyorfc 
out hisw to use and supervise 
the system propeHy. Tbey are 
lxLSk:aSly sc<xred sttff'that 
pupils wiR use the Internet to 
access pornographic materkd 
and because th^y don't know 
hfjtij to control this they ban 
all pupils, Not only is that 
copping otttfmtn tathitng a 
problem, iL is also cut insult to 
the FTW^orfly o/ responsible 
chMren who could expai^ 
their education enormcusly in 
their ouin time thjough acces- 
sing informoHcin on subjects 
that they are gerrutneJy in- 
terested in. Maybe one day It 
wSl get sorted, but I must con- 
fess that i have liitle regard 
for the majority of teachers tn 
State sehoois, utho seem to be 
interested in little beyond 
their tmniediale responsibill- 
ties. 

As reganis James's requests 
you can write to James Au- 
stin at 19, dive Road. Grove 
Fork Estate, Bobbing. JVr, Slt- 
tti^bourrte. Kent ME JO IPJ. 



BIND IT 

Eddie Jones has a couple of 
contact addresses and an 
idea for a binder you can 
make to hold your copies of 
NAU. 




The following telephone 
numbers may be of use to 
owners of EPSON equipment 
- EPSON OaOO 2Q9e22, de- 
partment required Is by num- 
ber selectton. If you require 
spares or optional add-on 
parts they will refer you to 
their distributors. Try also 
Micro Partners (Wembley) on 
0800 2535B0. They are a 
Mall order company and their 
prices are cheaper than any 
of the Dixon Group, 

If you want to have a go at 
making your own binders for 
NAU, purchase an A5 REXEL 
BUDGET Binder No 15428 
for approximately £1 . It la a 
perfect size and soft backed 
and It wUl hold 6 Issues. Also 
buy a packet of ELAS^nC 
CORD l?^/2 mm diameter, 
about 5 metpes long. It will 
cost you about another £ 1 
from Haberdashery Shops, 
Salnsbuiy, Tesco etc. 

Remove the metsJ sprung 
chp Using a pair of pllere that 
wUl crimp the Inner end pf 
the rivet and allow you to 
push It out. The elastic Is cut 
Into approxlraately 15cm 
lengths but you may like to 
experiment with the length, 
so you can get the tension 
you prefer* At ihc top of the 
spine on the outside make a 
mark I Smm from the top and 
divide the width, into seven 
Spaces giving 6 marks whcrx: 
the 6 pieces of elastic will be 
glued. Use 15mm of the clas- 



tic unstretched to glue here 
and then do the remainder. 
At the bottom end of the 
spine repeat as the top, once 
the top glue has set. You will 
find the binder will bend, but 
when the magazines are fit- 
ted all will be well. The ex- 
posed glued ends can be oo- 
vered, 1 used sticky tape, 
black at the bottom and red 
at the top. 

If you cannot get the soft 
backed type of binder then 
use the hard backed variety. 
These are wider approxtmeite- 
ly. 45mm more. Somebody 
may have a better Idea, If so 
lets have It," 



OTHER COMPUTERS 

Regular eontfUbutor Kevin 
Cooke has quite a ntimber of 
things to talk about: "I have 
Just received the latest issue 
of N.A.U. and must say that I 
was most impressed. As 
usual, It was full of Interest- 
ing articles for people of all 
levels of knowledge, making 
an excellent read. 

I'm now attending university 
at Bristol and as such, I now 
have an e-mail address by 
which other Atari users can 
contact me: KJ -COOKE® WP- 
G.UWE.ACUK. There Is only 
so much help 1 can give peo- 
ple as I dont have my Atari 

Page 6's New Atari User 



with me in Bristol (for 
reasons outUned tn the rest 
of my letter) but I will do miy 
best to answer any questions 
relating to general Atari use, 
and am quite willing to have 
a chat with anyone. Please 
add rny e-mail address to the 
NAU Internet contact list. 

My time at unlverslly also 
gives me free acoess to the 
Intemet, so I was interested 
to read of your own experi- 
ences wltli the World Wide 
Web fWWW). I have tried to 
use the WWW In the past to 
do some serious research for 
university projects, usually 
with limited success. For ex- 
ample, recently 1 have been 
researching Into a phenome- 
non known as "Sick Building 
Syndrome" {S.B.S.). However, 
when typing "SBS" Into the 
search engine, I received In- 
fonnatJon on loads of sub- 
jects not in any way related 
to this phenomena (such as 
the Special Boat Service and 
something about nursing!). 
The stuff that WAS i^levant 
to the subject was mostly 
written by companies tiytng 
to sell Items to eliminate the 
problem. 

Another danger with the In- 
temet Is taking ever3fthlng 
that you i^ead on It at face 
value. One of the biggest 
problems with the Intemet Is 
that anyone can create web- 
pages with biased, prejudiced 
views and present it as fact. 

9 





A lot of the 80 called "facts" 
xvrttten by "experts" are ex- 
tremely hard to vciifyn with 
pages disappearing from the 
Net as quickly as they 
appeared, I'm also surprised 
at how umny people use the 
Internet, considering how 
long It takes to load the pages 
you are looking for. iVs little 
surprtse that It's been dub- 
bed The World Wide Walfl 

In issue #S2's mailbag, Joel 
Goodwin suggested that 
other readers may like to 
bear cif Atari enthusiasts' ex- 
periences on other compu- 
ters, Fecenlly, I've been using 
PCs and an Amiga rather a 
loL Here's why; 
IVe recently sold my Atari ST 
and used, the money to buy 
an Amiga, OK, I hear cries of 
outrage and surprise from 
the Atari community, but let 
me explain myself I bought 
the ST as a step up from the 
8-bU for desk-top publishing 
and, although it satisfied me 
at Urst, I suOn became 
annoyed at how the programs 
I was using kept crashing, 
partly due to bugs In the soft- 
ware but mainly due to my 
machine only having 1 Meg 
and no hard drive. The cure 
was simple - buy more mcm- 
oty and a HD. But at what 
cost? It turned out that If I 
sold my ST and software (for 
£70). 1 could buy an Amiga 

1200 with hard drive, 4 mfigs 
of memory, an extra floppy 
10 



drive, and loads of software 
for only HI 00 more. If you 
look at the prices that Atari 
users generally want for 
menwiy and/or systems with 
hard drives second hand, 
you'U be looking at a lot more 
money than one hundred 
pounds [or at least you would 
have been seven months ago 
when I bought the Amiga). At 
the end of the day, money 
had to talk, and wllh the col- 
lapse of Atari, T saw little 
loyalty left to a company who 
had shown mc none, And, as 
much as I liked the ST, I hA\t 
to admit that the Amiga Is 
FAR superior. For example, 
filcnamics arc not Umited to 8 
characters [in fact they can 
be about 20 characters long). 
The desktop Is nicer to use, 
especially with the various 
shaneware Improvements 
available, and I can't remem- 
ber any software ever having 
crashed (unlike the ST, 
where even half-meg g)ames 
would crash for no apparent 
reasonl- Tbcjoystidk/mouse 
ports are in a much easier to 
access position, the keyboard 
feels nicer (I never could get 
used to the STT keyboard!) 
and the serious software is 
cheaper Eind still being sup- 
ported/improved. So is my 
love affair with Atari over? 
Nol My comments may seem 
controversial and it's true. I 
don't ha'V'e my 8-blt at univer- 
sity with me (because of 

Page G's New Atari User 



space limitations and the fact 
that my Amiga tan save text 
files straight onto a 3.5" disk 
and load them into a PC, 
which 1-s essentiaj for my uni- 
vcraily course) but you Just 
can t beat the old 8-blt for 
easy to use, easy to adapt 
funl I ba^x a feeling I may 
buy an ST again when I have 
more rtMney taut for now, I'll 
be using my Amiga and Atari 
Q-blt with satisfaction. 

It's Interesting to hear peo- 
ple criticise the S-blt and 
16- bit computers and rave 
about their powerful PCs, 
only to later pm\'c that thqf 
don't even know how to use a 
fraction of the functions 
available on their PCs, For 
example, a student In my 
class made a big deal of the 
new Pentium computer she 
had bought when she started 
the degree, yet for six months 
when she thought she was 
saving her iwork onio a blank 
disk, she found she had been 
saving it to the hard drive! 
Therefore, all the work she 
thought she had saved to one 
floppy disk had actually been 
spread amongst the numer- 
ous computers she had used 
at unlversitjf, and the one she 
had used at home! 

In another instance, when I 
was doing a group project for 
one of my degree modules, I 
gave one member of the 
group my Ujiork On a disk, 
along with a printed copy, so 



she could paste it together 
with each group member's 
work during the weekend to 
create a finished essay. When 
the girl got home and tried to 
bad it Into her Pentium, she 
was shocked to find that 
there didn't appear to be any 
file on the disk. After panick- 
ing, she ended up typing In 
all of the work from the prin- 
ted copy [about 5 pages). 
After the weekend, she com- 
plained to me that the disk 
was empty. It turned out that 
her wQ rd processor was only 
loo king for fUea -with an ex- 
tender of .TXT and because 
my file was saved with a 
.WPF CKtcnder. it hadn't 
showed up on the directory ! 
All she had to do was change 
the type of Rles that would be 
listed in the directory from 
•.TXT to *.*. which she didnt 
know how to do! 

I'm also amazed at tlie num- 
ber of PC owners who can't 
even copy or format a disk! 
And would you believe that 
you can't swap Hoppy disks 
whilst using programs In 
Windows for 'TtVln-doze" as 
it's been called!) because it 
corrupts the data table on 
the disks. effcctlvEly losing 
ev'erytliing on the dlskl 

I think that these examples 
go to show that It's not just 
the capability of the compu- 
ter t-hat is important, but also 
the capability of tbie userf" 

t Interesting comments, 



Keuti\. luhlch f thinic shouj* 
the di£feTsnce between the 
cOfT^pLiter enthusiast artd the 
a>mputisr user. Thcrse ojus 
wbi> came into computtng via 
the Atari generoRy have a 
greater UTwierstanding about 
hou; things work ond so uidl 
benejitjpom using any fcfrid of 
computer- THe vast rnqjority 
of PC users don't understand 
in th£ sltghlest what ts going 
on which is why you get all 
these 'consultants' ripping 
people ctjf with training 
schemes vnd the like- It is 
unheileijahle the ompiuit qf 
msney that scbixAs and 
husinesses was te hecause 
the people uxDrking there can't 
read a manuciL It also asto- 
nishes me that peopie need to 
go on training courses to leam 
how to use a computer, / don't 
ifiSan hoiu to mrile programs, 
btiljust so that they can leam 
hO'W to press keys! H^w 
many of you remiing this hod. 
to go on a course to tsam to 
iise the Atari? 



NEVER TOO LATE! 

Paul Herbert starts off by let- 
ting us knouj that it is neoer 
too late to start witting to 
Mailbag: "After nine years of 
reading Page 6/NAU, 1 Ve fin- 
ally gotten off my backside 
and written in! 

Page 6's New Atari User 



First of all, some Ttansdisk 
problems. Feud and Head 
Over Heels both seem to load 
in one chunk, nmking it Im- 
possible to transfer In stages, 
and the programs are too big 
to hold In my XE's 64k 
capacity (with Transdlsk 
baded). Shame, because they 
are two of my fevourites, 
especially H/H. Red Max, on 
the other hand, loads in 
enough stages to successfully 
transfer to disk (514 sectors! 
Phew!), but doesn't want to 
load from disk. It's not my 
copy of the game, because 1 
loaded it irom tape with suc- 
cess (half an hour later .,,., 
those were the days), so 
something went wrong In the 
transfer- Is there anyone who 
has Transdlsk-ed these 
games successfully who can 
help? 

Raking through my old tape 
coUectlon [ came across three 
cassettes that 1 had long for- 
gotten about, and I would be 
curious to know if anyone 
else has any copies of them. 
They are Issues 3, 4 and 5 of 
a cassette- magazine called 
Atari Computing, dated 
1 964, They have various 
games, utlUdes, and reviews 
(including a review of Blue 
Max when it lirst came out! J 
on them, plus a three part 
text adventure (written en- 
tirely in Basic) called the 
Keys of Time. If it helps ring 
any bells, the address was 1 

II 




Golden S<|UaTc, London WIR 
3AB (A};guR Press Software], 
Does anyone know what hap- 
pened to Argus Press Soft- 
ware? If the copyrtght status 
permits (It says (r)APS on the 
tapes) f would be more than 
wtDln^ to transfer these onto 
disk and to send them tn for 
Bonus Projgs or Public Do- 
main - we all know how short 
on these Les la. 

On the subject of potential 
Bonus Programs, 1 have a 
book ol typc-tn g^mcs called 
Gaines For Your Atail (Virgin, 
1983). many of which I have 
typed In. Needless to say, 
some of thein are pret^ awful 
("Compliment Generator" - 
random phrases to boost 
your ego!), but there are 
some half decent iype-ln 
games lurking around, and 
again, copyright permitting, I 
would be happy to send them. 
In and share them with other 
users If possible, 

FlnaUy, 1 discovered the real 
uses of demos. Recently, a 
friend came round my house 
and enquired as to the na- 
ture of ray computer, given 
that It clearly wasn't a PC - 
surely they are the otify types 
of computer in the world?? 
Wrong again. After teUlng 
htm that it was an B-bit Alari 
and having reoeived the 
usual stuck-up noises that I 
have come to expect, I asked 
him for a few minutes of his 
time, and loaded up the "Pol- 

12 



Ish Demos 2" disk [#16 1 in 
the Page 6 PD llbraiy if any- 
one's Interested). This has a 
collection of demos, but I 
went straight to the one with 
the anlmadon of a dancer 
moving to the theme tune 
from Draco nus AWD two 
simultaneous seroU texts 
(approK.400k compressed 
onto a standard 130k disk). 
After he ate his words (reluc- 
tantly}, I Informed him that 
tlie processing technology 
Was older than me (being a 
fledgling 20 years - young for 
a human, but in computer 
terms that's about 40 genera- 
tions), Ooaarl They don't 
make computators lolke they 
used to!" 

T f tion't think anyo'ne saer 
read Atari Computing, Paul 
(ap€irtJfom yotd) b&xiuse we 
hmi aJiAl cokfur advert on the 
back of the card which 
accompeirded issu£ 1 and we 
didn't receive oris single re- 
sponsef Ajter much con^latn- 
ing we actuaRi} got our che- 
que for £250 back, unheard 
qfinadvetttsifig circles. In 
Jact it uxis so ujmsusAJoT 
<irapne to rejund advertisii^ 
msmsy thjol I kept th^ cheque 
OS a souvenir. It Is dated 2nd 
November 1984 and is kept In 
a little tin. along luiih another 
cheque thot someone ortice 
sent usjbrpostoge, mode out 
Jar Jus 1 22 pencei I didn't 
bo&ier to cosh UI 

Piige 6's New Atari User 



W£NEED 
YOUR 

LETTERS 
ARTICLES 
PROGRAMS 

DRGEJVTiy 



CONTRIBUTE 
JVOIV 

(It's your laug after all] 



Another decent load of letters 
this issue Jor which many 
thanks. Keep your letters 
coming, folks, they really do 
mean a tct As aiwoys the 
address to ivrile to is: 

MAILBAG 

NEW ATARI USER 

P.O. BOX 54 

STAFFORD 

ST 16 IDR 



PROGRAMMING 




BASIC LISTING 
SEARCHER 



John FosJcett 
shares one of the 
utilities that help 
him ivrite so many 
great programs 



When writing or modifying a BASIC 
program, it Is sometimes a necessity 
to find the number of occuriBnoes of 
certain things within the Hating. As the listing 
grows, however, the cITort needed to search 
the listing also grows and it can become veiy 
time consuming, error prone and veiy 
tedious. Sometimes a tine number is unwit- 
tingly typed wrongly, such as entering Une 
10 15 Instead of 1 105 and as a result, the line 
suddenly vanishes Into thin air! It Is essential 
that such errors are corrected imnwdlately 
whilst they are fresh In the programnwrs 
mind otherwise they could become forgotten 
and maybe even rrisult In bugs. It Is from this 
need that the BASIC LISTING SEARCHER 
was bom. 
The BASIC LISTING SEARCHER is a utility 
program that mil find every occurrence of a 
specified string of characters no matter where 
they are to be found within the listing. 



USING THE PROGRAM 

Firstly, the Input file - the BASIC listing to be 
searched - must be saved to disk as an ASCII 
IHc, that is in the LIST format. 

When the BASIC LISTING SEAJ?CHER Is 
run, a lined screen Is presented with a 
prompt to enter the file name of the Input file. 
The default file name of PROGRAM, LST can 
be entered by simply pressing RETURN and It 
Is convenient to LIST the Input file to disk 
using the default file name. 

The next step is to enter the string of charsic- 
ters at the next prompt using a majdmum of 
12 characters. After entering the string of 
characters for the search, either RETURN is 
pressed to continue or ESCAPE is pressed to 
exlL Upon pressing RETURN the Input file 
will be read from the disk and all lines which 
contain a match with the character string will 
be printed on screen. 

All lines which contain at least one match 
with the character string will be printed on 
screen with all the inverse characters they 
may contain being converted to nonnal. All 
matches with the character string are high- 
lighted In the lines In upper ease Inverse 
video for clarity. Note that the Input file Is not 
changed In any way by the program, the lines 
are only printed on screen In this way for 
clarity. 

The search may be paused at any time by 



Page 6's Netif Atari User 



13 



pressing the SPACEBAR after which RE- 
TURN may be preased to continue or ESCAPE 
maybe pressed to exit. 
At the enid of the search, the number of 
times the dbaracter string appeared In tht 
lisUm^ is displayed on screen together with 
the nuiubEr of lines that the chanacter string, 
appeared on. At this point ESCAPE lassiy be 
pressed to ejdt or FtETlURN may be pressed to 
Ust the Hue numbers upon which the charac- 
ter string appeared after which ESCAPE must 
be pressed to exlL 



TECHNICAL DETAILS 



ERROR TRAP 

The error trap routine is responsible for de- 
tecUng the End Of Pile (EOFi error 136 and 
returning (sin trnl back to the main program. 
The error trap routine is llmJtod to only the 
errors associated with reading a disk file. 



DISPLAY LISTS 

The program uses two display lists , a normal 
mcde icro, but Uned, screen is used for the 
main display and a special four-line mode 
zero screen Is used for displaying disk errors. 
The display lists are defined together as Sr$ 
and MOVEd Into page 6 at address 1536. The 
address of the main screen display Ust Is 
1536 and the address of the error trap display 
list Is 1590, 



THE CURSOR 

The program uses player zero as the cursor 
for keyboard entiy and the VHI reutine Is 
used to flash its colour between the two pre- 
set values [144 and 150), ST$ loaded with, 
zeroes (the heart character] is used to clear 



the player stripe by MOVElng 256 bytes of Its 
len^ into It prior to defining the cursor 
shape a^ain using MOVE. 



PRINTING A LINE ON SCREEN 

Prior to printing a hne from the input file on 
screen, the display flajg at location 766 Is set 
[POKEd with 1) to enable the ESCAPE-CON- 
TROL characters to be printed on screen 
without the computer acting upon them. After 
printing the line, location 766 Is reset to zero. 

FINDING A MATCH 

Once a hne from the input file has tieen nrad 
into LNS. the progjam uses UINSTR (univer- 
sal INSTTRJ to find all matches with the char- 
acter string. The first UINSTR command 
found on line 240 attempts to find the first 
match with the character string and therefore 
determines whether or not a line Is to be 
printed on screen. Once the first UINSTR 
command has found a match, the second 
UlhtSTR command on line 320 attempts to 
find more matches with the cliaracter string. 
Each time a match Is foundn the line number 
Is stored in STS for listing if required after the 
search. The line numbers are stored using the 
normal 2 byte lo/hl method. 



VBI ROUTINE 

A small deferred VBI routine defined as a 
string "(VBI^) is used to disable aU lower case 
and Inverse characters to ease keyboard 
entry. Because UINSIK Is used to And all 
matches^ the status of any letters in the char- 
acter string Is unimportant since UINSTR will 
And all matches Irrespective of case or mode. 
ITie routine Is also responsible for flashing 
the colour of the PMG cursor between two 
preset values (144 and 150). for disabling the 
attract mode and for disabling the CONTROL- 
1 stop- start toggle. 



PROGRAM BREAKDOWN 

To help study the lilstlng, a breakdown of the 
programs pir^ccduresH labels, strings and 
major variables follow,,.. 

PROCEDURES 

BEEP The beep 

CLICK The hsyboanJ dick 

CURSOR Controls in& hoirjzontal position of 
the cursor. Used in the INPUT 
pfocadyre 

I KIT Initialising routine 

INPUT For entering data from Ble 

keyboard 

IPSUB For printing data on screen. Used 

in the INPUT procedure 

SPACES Removes any leading and lag- 
ging spaces from 1$ 

WAFT Pauses the search 

THE ONE LABEL NAME 

# RERUN Resets the VBI vector and renins 
the program 



14 



Page G's New Atari User 



CH$ 



CHI $' 



CUR$ 
F$ 

FN$ 



STRINGS 

The character siring entered from (he 
keyboard convened into inverse char- 
acters 

The character string copied from CHI 
before converting into inverse, As en- 
tered from the keyboard 
For defining Ihe cursor 
The file name copied from FN$ but 
with "D" 

The file name entered from the 
keyboard without "D" 



1$ 


Stores data eateced from the keyboard 




used In the INPUT procedure 


L$ 


Defined as a line 


LN$ 


Stores the lines of BASIC read from 




the input file 


m 


Line number of itie current line as a 




string 


ST$ 


Used for loading the dispjiay IJ$ts into 




pa^e ^, for dearing ihe PMG stripe 




and for storir»g the line numbers of the 




lines which matcti Ihe character string 


T$ 


The programs title 


VBIf 


The VBI routine 



MAJOR VARIABLES 
CUR, MAX, POS, PRV, XX and YY - General 
variables used in the INPUT procedure 
FN D{ From UINSTR) ■ Equals zero if no match is 
foufKJ and exits the loop. If greater than zero, a 
first match has been found 
LCH ■ Length of CH$ 

LINES - Number of lines that a match has been 
found on 

LNUU ' Une number of the ojrrent line 
MATCH - Number of matches found whkh im- 
cPudes more than or>e per line 
PMB - Address of PMG 
ST - Pointer for the next position iin STI to store 
the next line number upon which a match has 
been toured 



THE LISTING 

The JiiU [tsttng can bejoiuvi on this Issue's 
d-lsk. IJ'yoii prefer to type in the Itsting a 
TYPO coded prtited ICsttr^ (s auailaHe on 
request, see inside bock cover Jhr details^ 



Page 6's New Atari User 



15 




it's 



The TIPSTER 



As promised last issue we conttnn^ 
James Matthrick's eytploratton of 
Silicon Dreams with this expose on 
Worm In Paraxiise. Hope it helps you 
ouil 



Firstly, the hint way back in Issue 71 is 
Incorrect - sony, Steve NJcklJnl Get- 
ting Into the Main City is easy ■ there 
Is a time limit on the simulation game and so, 
scwner or later, yon will end up Jn the Main 
Clly, but the slmuladon is a good opportunity 
to gist points. 

Solution to the simulation 

Oet bench, 5, E, drop b«nch, g«t on b««ich, gel 
apple, 9\m\4 up, eal apple, W, W, W, N, get on 
Behemoth, E, S, W, W, get scale, W, N, N, H, H 
... and that leaves you with 80 points. 
THEN drop viatir, S^ E^ w««r viaor to g^n 
Information and a further 40 points, 'llien 
ytou can leave the Dream Palace. 



** 



BIG MAJOR GLITCH 



** 



If you go to the police station and GIVE ME to 
the officer, you will find yourself In Never- 
never land, along with eveiy object and cast 
member. Double whoops. Level &t You cannot 
get out of this bug, but should you EIXAM 
ALL. you wUl receive a name and description 
of everything. You can also talk to people , and 
tjy objects (e.g. OPEN BOOTLE. PUSH MIR- 
ROR) but If you wake the Behemoth, remem- 
ber thei^'s nowhere ts run to. 





B'boul' 
EXIT 



IN PARADISE 



R'bout 
EXIT 



PEDWAY 



TRY THIS 

Should you get caught by a fuzbot, and get 
fined, you can OOPS as in Return to Eden to 
renew your crcds. It may be worthwhile 
cashing In your assets at the bodybank tf 
you're maldng money. Once youVe noted the 
contents of the socialist's wallet, return both 
to the police station for a rewMid. Going to 
work will also earn you money, but you wUl 
have to go through a day's 'training' at the job 
centre - a useful tip for beating the curfew 
(you can also use the hablhall for this pur- 
pose, I believe that the curfew is an Incentive 
for the player to find his hablhonie). Should 
you take manual work and plug yourself Into 
the walbot, you can get the valve fbee from the 
warehouse, but you can stUl get airested. 
even tf your walbot Is breaking curfew. Does 
anybody know any other use for the walbot? If 
you take oRlce work, how do you gel down the 
trapdoor? What use are the vldcam, dagget/ 
batpack, pizza, box, pie, plug, plate, flowers 
and newspaper. Arc they aU red herrings? 
And does anyone know how to get the ticket 
from the travel agent? IVe heard of an alien's 
seat of Power, but 1 cannot find it, or ihc 
Invitation to the party. Having gone to the 
socialist's home, I cannot find a use for that 
cither, except that it makes me smell pretty 
bad, until 1 take a shower, 



16 



Page 6's New Atari Oser 



BESIDE N 

FOUNTAIN — erf 

R,bour 



1/ 



TO 
PEDWAY TUI»N$TILE 

I I 

MIASURE -* OUTSIDE 
DOME PLEASURE 

R'bout I OOlUtE 



! 



PLAZA 



S of R'bouf^ 



R'bout 



PEDWAY 



PEDWAY 



W 

Of 

R'bout 






E 

of 
R'boul 



S 

of 
R,t>out 



PEDWAY 



PEDWAf 



[y 



W 

of 

R'bout 



WORK 
PLACE 




LEFT 
MUNtClPAL — >■ HAND 
about . Ofi(VE 

\ / 

THEME 
PARK 
R'boirt 



CITY 
SQUARE 



T 



1 



PEDWAY MUNICIPAL 
R'bouF 



WORK 
PLACE 
R'boul 



EWG 



BESIDE 
HOSPITAL 

IN K)VER 



ORY 



BODY 
SANK' 



OPEHAKON 



ROAD 



— EARTMSEA 



GiOflY 
SOAO 



N 

FAButoUS 
RIVER BOAT 



\ WEND OF 

FUVTIANDS — GLORY < 
ROAD 



COLOURFUL HOTHOUSE 
5AI4DS I 



LITTLE 

HOUSE 

ON PRAIRtE 



LONG & 

WINDING 

ROAD 



I 

EW 
— YELLOW - 
BRICK K)AD 



YEARWOOD — DUNCTON 
WOOD 



DREAM 
PARK 



GA1E 

— OF — 
IVRIL 

I 

FOUMTAIN 

OF 
PAI%AI»5E 



CURIOSriY 
SHOP 

1 
ANCIENT 
- U>kNKHH 



WEU. 

OF SOULS 
I 
iN 

I 

INSIDE 

WELL 

OF SOULS 



More words 
over here <^ 



Pgqs &S New Atari User 



17 



END 

OF 

GAME 



SOUTH OF 

GLOWING 

EXIT 

I 

WORM 

TRACKS 



BATTERED 
MEADOW 



WEST SIDE i 
OFftAVINE^g 



LOCKED 
. WALL 
DOOR 



RAVINE 
(CHASM) 



TO 

FLAT *■ 
ROCK 

TO 
ANCIENT 
GIKAVEL 

t 

DEEP 
" SAND 
FURROW 



TOEW 

SAND 

FURROW 

f 

]N A 
THORNBUSH 



TO 
BLASTED 
GRAVEL 

t 

PLAIN 

- OF - 

BONES 



TO 

DEEP 
FURROW 

t 

FLAT 
- ROCK ' 



TO 
'THORNBUSH 



bchcmoih 



PAHERNED 
- ROCK - 



EW 
SAND — 
FURROW 

4 

TO 
THORNBUSH 




- DOOM - 
DUNE 

I 

WORM 

> BUSliO ■ 

GRAVEL 

i 

TO 

PLAIN 

OF BONES 



AHC1ENT 

- GRAVEL— 

TOOEIPFUReO* 

SCARRED 

— HILi 



TO 

PAHERNED 

ROCK 



JUMP tsikes you to the nearest hub 
SAY HOME takes you hDme: 
and 1 thiiik that 
SAY EXIT takes you to the EXIT. 

[ found Les Wiliams' system for ETS some- 
what oonfuajng and fnacqurate. but 1 am 
probably biased tQward? my own syatcm. To 
use it, translate the current tHe into a num- 
ber, and the locaUpn tile Into a number, [f the 
location number la larger, move W, tf it is 
smaller, move E. Always tgnore the first col- 
our In the address, and aim to make up the 
difference by moving In the ring with the 
iieaTest rounded down number to the differ- 
ence. Examples are as follows: 



SIMULATION 



(bench) 
NW - 
CORNEIi 
I 



TIDY FRAGRANT 

ALPINE — CORNER 
GARDEN I 



I 



FLOWERBEDS ^^JrIe^" 

I I 

WINDING 
GARDEN 
PATH 



LOCKED 
_ WALL 
DOOR 

I 
FRAGRANT BENEATH 
FORESl ~T5REENWOOD 
LAWN TREES 



Whitfi 


1 


Walkway 


1 


Grey 


2 


Outer #1 


3 


Violet 


3 


Outer #2 


8 


Blue 


4 


ET#1 


27 


Green 


5 


ET#2 


81 


Yellow 


6 


Central #1 


243 


Orange 


7 


Central #2 


729 


Red 


B 


ET#1 


6S61 


Brown 


B 


ET#£ 


19683 


Black 10/0 




Inner #1 


59049 






Inner #2 


177147 






By Hub 


531441 



If you were at 
Black Grey Bcown Green Orange Green Grey 

or 295752 
and wanted to get bo 

Hack Red Grey Orarge White Brown Violet 

or 8271 93 
you want to move In a westerly direction for 
the difference of 531 441 [8271 93-295752 = 
5314413 

and then go to the walkway and go 5 to enter 
the destination, 

Tf you were at (decoded) 625342 and wanted 
to get to the exit (not SAYlng EXIll bcaUon 0, 
you shoiild start at the Hub and: 
go E once [6^5342-531441 = 93901] and move 
Sj S to the Inner ring # 1 and 



PLEASURE DOME 



TEMPL£ 



sWis 



NS 
CORRIDOR 



PLASTIC 
TUNNEL — 



TO 

OCTAGONAL 

ROOhi 



MtlSEUM 
(Infkitabto 
KInn) 

EMPTY 
ZOO - 



CORRIDOR 



NS 
CORRIDOR 



HABIHALL 
(couch) — 



NS 
CORRIDOR 



PET SHOP 
" (dagget ■ 
900 creds) 

REFRESHMENT 
— KIOSK 
(poia -f' ends) 



TURNSTIJJ 
(9 CT9di) 



TO *- 
E 
of R'boul 



OUTSIDE 
DOME 





GARDEN 
ALCOVE 

(Mmukatkifl 
to poknit] 




GLORY 
ROAD 


FOREST 

ALCOVE 

l^defi wtidllle) 

/ 


TO 
PLASTIC 
TUNNEL 


OCTAGOHAl 
ROOM 

TUNNEL ^ DESOLATE 
ALCOVE ALCOVE 
(ore taiighb) Cac»rth) 




DESOLATE 

AlCOVE 

(space hvoden} 



go E once (93901 -59049 = 348523 then 

TiKflK S to the ET ring #2 and 

go E oncE (34852-1 93a3 = 1S169) then 

move S to the ET ring # 1 and 

go E twice (15 169-6561 -65ei - 2047) 

then move S, S to the Central ring #2 

and 

go E twice [2047-729-729 =-5893 then go 

S and 

go E tvrtce (5S9-24&-243 ^ 103) then S to 

ET ring #2 and 

go E once (103-81 = 22J then ga S, S to 

the Outer ring #2 and 

go E twice (22'8-e = 6) then go S and 

go E twice (6-3-3 ^ 0) then go to the 

hallway and go S to exit the ETS 

Remember to gain access to your or the 
socialist's hablhome you wih need the 
relevant brooch /badge- This system Is 
very similar to Mr- Williams' but 1 sup- 
pose that everyone has their own slight- 
ly different syatcm of using the ETS. 
My Only problem la that T don't know 
what Cm supposed to do, apart from 
getting money and position. 



OVER TO YOU! 

Now It's your tum to help your fellow 
gamesters out. If you can ahed light on 
any game like this send us in your 

solutions (with maps or 
A^OVE diagrams if you canl 
(40 point!) ^<1 I'll OnARANTEE 

that It wlU be In a future 
TIPSTXR csolumni 
As always send your stuff to; 
THE TIPSTER 
NEM ATARI USER 
P.O. BOX 54 
STAFFORD 
ST 16 IDR 



16 



Page S's Ne\n Atari User 



Pis^e 6's New Atart User 



18 



PROGRAMMING 




OBJET D'ART 



Joel Go(Kiwin 
concludes his 
series for the 
more advanced 
programmer 

S. Coup de Grace 



Object-Oriented Prograininlrig {OOP) became 
the New Big ThJng to the mid SOs, Evciybody 
had to have a piece of the action - suddenly^ it 
was the obvious answer to every problem. But 
as "With any new phenoinenon driven by hype. 
it hecame misunderstood which In lum 
iMieant that It became irtlisuHed. Stories of pro- 
jects becomlrvg unnecessarily over-oomptl- 
cated and programs running at a snail's pace: 
started to Circulate, The trouble with OOP 
wa3 ihat It was not sonKthing that could be 
learnt quickly. People tried to run before they 
could walk and stumbled; some blamed the 
new programralng Tad'" as no more than some 
computer scientists" Idea of a tidy program. 
My own experience verifies this as the 



mathematical community responded to OOP 
in this way. For many years, the principal 
programming language for mathematicians 
has been Fortran, which is a procedural lan- 
guage. Because of the long history between 
mathematicJana and Fortran, many software 
libraries of useful mathematical subroutines 
exlsL So when OOP came on the scene there 
was a distinct lack of interest. Fortran was 
tried and tested, comfortable and the subject 
of recent revisions. What more could you 
want? The language that w^ being pushed 
by Industry, C++, lacked extensh'e mathema- 
tical libraries and few had posltlii-e experi- 
ences with it. The horror stories of the 
hideous "bureaucratic" overheads imposed on 
C++ programs made the choice clear - it was 
fstr simpler to leave weHi alone. 
Having said all this, there is now a growing 
momentum in mathematics towards an OOP 
approach. Mathematicians desire software 
Ubraries and if there's one thing that OOP is 
good at, then it is the reuse of software, There 
Is still some way to go. though, [ attended a 
day of talks at Oxford University, sonie time 
In 19S6. on the subject of mathematical prog- 
ramming. One of the Issues being discussed 
was which was better for mathematics - a 
procedural approach or an object-oriented 
approach? During the Journey home I chatted 
to a lecturer about the Fortran versus C++ 
debate. He said It was about which was best - 
tnuth or beauty? And truth, he added, won- 



This was rather depressing because It niKant 
that OOP was still being perceived as a way to 
make the program code look elegant and little 
else. 
Object-orientation Is not about "objet d'art". 
it Is about confronting complexity and saving 
time. Elegance of code Is, of course, a part of 
this; a well-structured progr3.m Is far easier to 
reuse and dissect Today OOP Is considered 
to be essential by many programmers. With- 
out hesitation I count myself amongst them. 



TAKING FLAK 

Last Issue, we looked at a class support 
mechanism for machine language program- 
mere lucky enough to own a copy of BilAC/65, 
We then constructed the FLAK class, an ob- 
ject of which represents a moving graphics 
mode character. An object holds the foUow- 
ing pieces of public data: 

XPOS - Horizontal position on £craen 

YPOS - Vertical posftion on screen 

DIR - Direction of movement 

CHAR ' Character to use when plotting 

SPEED - Speed of movement 

In the above, DIR can take values from to 
7, representing north, north-east, east, etc. 
The value of 255 means the object Is station- 
ary. The public subroutines aie: 

INIT - Initialise object data 

PLOT - Plot object on screen 

ERASE - Erase object from screen 

MOVE ' Proces$ object movement 

An object's position wiU only advance after 
several MOVE calls; this is done so that diffe- 
rent objects move at different speeds. The 
exception to this is If the SPEED Is set to zero 
where the object's position wlU be altered on 
eveiy MOVE call. 



Recall that the FlAK dass flic made two 
demands on the main program; the label 
ZPFLAK must be given tlie address of a zero 
page vector which can be used by the FLAK 
class subroutines, and the zero pa^ locations 
8S and 89 must hold the screen memory 
address. 



DEMONSTRATION 
TIME 

As promised last issue, we are going to look 
at a demonstration of the FLAK class. The 
beauty of object-orientation is that code de- 
veloped for a class ls\ralld for as many dis- 
tinct objects of that class as we have memory 
for. The whole point of classes is to isolate 
structure from a. particular implementation, 
to enable reuse of that structure. So to dc- 
mionstrate the distinct reduction of complex- 
ity that OOP achieves, the demo program will 
manage 120 dilTerent FLAK objects at once. 
Listing 1 is the MAC/66 listing of the demon- 
stration. Listing 2 (on this issue's disk) is a 
BASIC Ustlng which will create an esccutsble 
disk file of the demo progtram (use DOS option 

U to load FLAKDEMO.OBJ]. 

The MAC/65 code Is not difficult to follow. 
First the pmgram cieates a blank gt^phics 
mode display by using S;, the screen hand- 
ler. The cursor is erased and the colours are 
set, 

Then the piogram deals with initialising 
each object. E<ach object Is given a random 
direction and speed and Is represented by an 
Inverse character. Each object Is also given a 
random position to start from. 

Finally, the program deals with processing 
the movement of each object, which Just In- 
volves JSR ERASE, JSR MOVE and JSR 
PLOT. There Is some baggage associated with 



20 



Page S's New Atari User 



Page 6's New Atari. User 



31 



II 



.OPT NO UST 




AND #$3F ;Tbla mak** 
OR A #$8Q ;tZ7<CHAR<1SZ 


; Dainomtration of PLAK class 


pur CHAR 


; by JoM QoAdwIn 11-1-97 




LDA RND 

OPUTSPEED ;3P€ED random 


•- fSOOO 




LDA RND 


OBJECT - ICB 




AND #$07 


.INCLUDE «D:OBJECTS.Me5 


OPUT DIR :DIR random 0-7 


ZPFLAK E SCD 




dTl LDA RND 


.INCLUDE #D:FLAK.MeS 


AND #$3F 






CMP #40 


;Lab«ts 




BC3 ST1 

OPUT XPOS ;XPOS rand. 0-39 


RTCLOK = 20 


.;Clock lo byta 


3r2 LDA RND 


ICCOM = 834 




AND #$1F 


ICBAL = 836 




CMP #24 


ICAX1 * 342 




BC3 ST2 


RNO ?= 53770 


;randoiii no, 


OPUT YP03 :VPOS rand. 0-23 


ClOV = $E45e 




JSR PLOT 

JSR MEXTFLAK ;n»xt FLAK obj. 


; Program paramolars 




BHE STO 
: * WaJt lor VB bstoro moving 


TOTAL - 120 


;no. of FLAKs 


WAIT LDA RTCLOK ;la 1 VB ovat? 


TEMPO « 254 


;Sp8*d ot prog. 


BN£ WAIT 


; 




STA 77 ;K{II altract 


■ Block Of FLAK object* 




LDA #TEiyiPO ;Star( llmar for 


f 




STA RTCLOK ;naxtiil8p 


BLOCK CLASS 


FUUCTOTAL 


; * Proc««a Mock objects 

JSR FIRSTFLAK 


; Mlae»lldii»ou« data 




l*H0CE5S JSR ERASE 
JSR MOVE 


NUM BYTE 


; Block IndaK 


JSR PLOT 


SHAMD .BYTE-S" 


;Ua0d lor lOCB 6 


JSR NEXTFLAK 
BNE PROCESS 


; Main program 




BEQ WAIT ;Hnl«had block 


■ " InitlallM display 




\ FIRSTFLAK aubroulino 


aiAUT LDX #$«0 




; Sat OBJECT to Start ol block 


LDA #1£ 






STA ICCOM, X 




F1HSTFUK LDA # *BLOCK 


JSR ClOV 


;CLOSE«6 


STA OBJECT 


U)X #$fiO 




LDA # >-BLOCK 


LDA #3 




STA OBJECT+1 


STA ICOOM.X 




LDA #TOTAL 


LDA #*SHANO 




SIA NUM 


STA ICBAl^X 




RTS 


LDA #>5HAND 




; 


STA ICBAL+1,X 




; NEXTFLAK auhroutlna 


LDA #0 




; Movo to naxi object in block 


STA ICAXI^X 




* 


4&n ClOV 


^GRAPHICS 


NEXTFUK CLC 


LDA #2 




LDA OBJECT 


STA 710 




ADC #FLAK 


LDA #48 




STA OBJECT 


STA 712 


jColoyrB 


LDA OBJECT+1 


LDY #2 




ADC #0 


LDA #0 




STA OBJECT+1 


STA <88>,Y 


;EraBa cursor 


DEC NUM 


; * Inltlaliso block 




RTS 


LDA #TEMPO 






STA RTCLOK 




I f^UN addrasft 


JSR FIR3TFLAK 






STO JSR INIT 




*= $<i2£Q 


LOA NUM 




.WORD START 



22 



Page 6's New Atari User 



running through a block of FLAK objects (see 
the FIRSTFlJ^K and NEJCTFLAK subroutines), 
but this Is superfluous to the cssre of the 
demo which Is the FT -AK class itself, 

The program monitors the ti mJn,g of the 
movement loop caiicfally. It Is possible that 
one cycle of movement wUJ be quicker than 
the next, because many objects may not have 
physically moved at all. So after the FLAK 
object movements have finished, the program 
will wait to make sure each cycle takes exact- 
ly the same time- It uses the aero page timer 
RTCIXJK (locations 18, 19, 20] to make sure 
the duration of each movement cycle Is the 
same. Another reason for waiting after each 
cycle Is that It Is possible that certain cycles 
may be so quick that several cycles will have 
been processed before the display has had 
time to show one of them- The 6502 piticessor 
can get through plenty of machine language 
before the end of a single TV frame; by forcing 
the length of a cycle to be at least one frame, 
each cycle is always visible. 

There are two param.eters which can be al- 
tered to affect the program behaviour. The 
first parameter, TEMPO, governs the duration 
of the rciovement cycles. It can vary from to 
255, The program, as given in listing 1, does 
not use the fastest TEMPO vaJue because the 
work Involved In some cycles exceeds that 
allowed by TEMPO=255; the result of using a 
excessive TEMPO value is frequent pauatng In 
the motion. The second parameter, TOTAL, Is 
the number of FIAK objects to be managed. 
The program Is designed to handle up to 25-6, 
but It could be easily modified to cope with 
more than this. Of course, the higher TOTAL 
becomes, the lower TEMPO must be. 

Consider how you might have handled writ- 
ing a program designed to threw 120 charac- 
ters around the screen, each in dllTerent 
directions with different speeds. It is common. 
In such a situation, to define arrays for each 



piece of data. The difference here was that we 
arranged the data Into gn>up3 which belonged 
to the same FLAK object rather than, for ex- 
ample, separate speed and position arrays. 
Although the array approach has optLmlsa- 
tlon aspects to vouch for it, the class 
approach is quicker, simpler and easier to 
debug (trust me on this last one). Please bear 
in mind, however, that the class could have 
been made faster. Without breaking an OOP 
approach, by some ncstnieturtng of the sub- 
routines. This has not been done as it would 
have made the class more complicated than 
was necessary for the purpose of these 
articles. 

The OOP approach is not Just better because 
of the development speed, though. We csould 
take the FLAK class and apply it tn a different 
program if we wanted, with no hassle at alL 
But what do we do if we wanted to extend the 
class? 



INHERITANCE 

IN MAC/65 

Primitive inheritance can be achieved In 
MAC/65 with litde effort. To derive a new 
class DERIVED from another class ORIGINAL 
then we need to use a special Instruction after 
the NEWCLASS declajatlone The Rrst line of 
our class deflnltion must read "CLASS 
OE?lGINAL": 



NEWCLASS 
CLASS ORIGINAL 

DATA1 eVTE 

DATAZ DBVTE 



;lnli«ritrn)ni ORIGINAL 



DERIVED ENDCIASS 
Recall what inheritance means. The DE- 



Poge 6's Neu> Atari User 



23 



RIVED class wlU contain all the data that was 
in ORIGINAL and all of ORIGINAL'S sub- 
rauUnes will work on DERTVEPI 
A specific example might be more tnainic- 
tive* Consider the FLAK class created last 
issue. We want to use the class for a game, 
where each FLAK object Is a target which Is 
worth some points i*^en hit. We decide that it 
would be bctlicr to add the public data mem- 
ber SCORE to the FLAK class to facilitate thfa. 
Conventional progranunlng would have us go 
back to the FLAK class file and "haek" in the 
SCORE member. OOP suggests ws Inherit a 
new class from the old using Inheritance, as 
foUows. 



SCORE 
GAMEFUK 



CLASS FUkK 

BYTE 

ENDCU&S 



;lnherit fifom FLAK 
;N«w SCORE memtnr 



our game would then use the GAMEFLAK 
class throughout. We would need to .EN- 
CLUDE the appropriate files, of course - both 
the FLAK and GAMEFLAK class files are re- 
quired and must be .INCLUDEd In that order. 
This example may appear trivial but this is 
only scratching the surface. ItTJierttsnce can 
permit many more additions than Just a 
SCORE. The derived class can also have Its 
own subrcudncs. public and pr^'ate. 

Now would be the time to point out llmlta- 
tkina In this approach. MAC/65 cannot sup- 
port "multiple" inheritance - the ability to de- 
rive a class from two different classes simul- 
taneously. The (bllowlng would MOT work: 



NEWCLASS 
CUSS MAN 
CLASS WOMAN 

CHILD ENDCUSS 



^Inherits from MAN 
;Do*S NOT St5herit from 
WOMAN 



What you could do to bypass this problem Is 
Inherit from one class and then nest an object 



from the other class as a data member. Le. 

NEWCUSS 

CLASS MAN ilnherit fnini MAN 

MOTHER CLASS WOMAN ;MOTHER data member 
CHILD ENDCLASS 

The CHILD class only truly Inherits from one 
class. The members of MOTHER need tB be 
accessed Indirectly. Supposing JOHN is a 
CHILD object then references to the encapsu- 
lated MOTHER object must be made in a 
JOHN+MOTHER+<woman member> style. 
SimilarlyH WOMAN subroutljies cannot be 
used on JOHN, they must be used specifically 
on JOHN'S MOTHER cbjccL This appears to 
disturb the symmetiy In the CHILD example 
and it would pnibably be better not to Inherit 
from the MAN class after all; nesting it as an 
object called FATHER makes more sense. The 
Idea of nesting objects within objects is not 
necessarily bad. If we go back to our trust- 
worthy POSITION class then we could define 
a POLYLINE class containing several POSI- 
TION objects fraim which a line can be de- 
scribed. To inherit POLYLINE from POSITION 
makes no sense. 

Another drawback in MAC/6S Inheritance 
concerns the private members of the original 
class. When deriving a new class, the new 
class unfortiinatcly cannot access any of the 
private members from the original clas^e The 
.LOCAL shield around the original class flie 
renders the private data and subroutines in- 
visible to the code In the derived class file. 
There Is no way of negotiating this satisfac- 
torily. 

You may be in teres Led in learning how in- 
heritance works In MAC/65. Consider nesUng 
an object of one class as the first member In 
the definition of a new class. The data mem- 
bets of the old class are Indexed by thefr 
labels, e.g. the first member cornea ponds to 
the first byte, the second member, perhaps, to 



the third byte and so on. Because this class is which holds a aubrouttne address. Instead of 



nested right at the start of the new class then 
all these indices remain EXACTLY THE SAME 
for the new elaj§s. That i3> the first member of 
the old class cprresponds to the first byte in 
the new class, the second member to the 
third byte and so on again. Tlierefore, we 
need not treat these data members as If be- 
longing to the old class; we can pretend that 
they were part of tiie new class all along. The 
Inheritance falls out naturally. 



POLYMORPHISM 
IN MAC/65? 

Polymorphism Is a lovely idea taut can we 
mimic it ustn^ MAC/65? No. Polymorphism, 
for our purposes, means that classes derived 
from a coramon class can IrJierit a sub- 
routine call, but replace the actual sub- 
routine. 

Suppose we derived two different classes 
from the FLAK class: DEADFl^^K and LIVEF- 
LAK. The DE^ADFLAK objects do not mo^'e and 
the LJVEFLAK objects move changing their 
direction frequently. Polymorphism would 
allow us to implement new MOVE sub- 
routines for both DEADFLAK and LIVEFLAK 
which would mean the main program would 
never have to determine whether it was deal- 
ing with a DEADFLAK or LIVEFLAK object. All 
the program would need would be JSR MOVE 
and the correct subroutine would be called 
automatically. No, we cannot do this. This is 
not so bad because polymjorphlsm. In some 
OOP languages, must be pre-planned. That 
is, we should have declared the FLAK class 
subroutine MOVE as a candidate for polymor- 
phism from the outscL 

What we can do is create a data member 



a set MOVE subroutine, we have a MOVE 
data member: 



MOVE 
FLAK 



NEWCLASS 

DBYTE 
ENDCLASS 



Tlie main program would not use JSR 
MOVE; it would have to pull out the two 
MOVE bytes and create the correct JSR In- 
strucUon while running. A macro could be 
civated to do this, call it PJSR, so the main 
program could simply stals PJSR MOVE, 

Note that the MOVE subroutine can be dUTe- 
rBnt for two objects of the same class. If this 
was true polymorphism, then MOVE would 
only be different for objects of different clas- 
ses, But then again, you can't have every- 
thing. 

That now wraps up everything I wanted to 
say about using classes in MAC/6S projects. 
So where do we go from here? What do we do 
with this new potential? 



POTENTIAL 



Many program aspects lend themselves very 
well to OOP methods. When I wrote Motiva- 
tion (NAU issue 78), 1 had object-orientation 
In mind even though OBJECTS. M65 hadn't 
been developed then; player-mlsstle graphics 
are Ideal for applying OOP ideas to. Look at 
the structure that the Basic programmer 
sees. Each player has several inputs- IM- 
AGEADR. HPOS, VPOS, SIZE and COLOUR. 
Many of the untidy aspects of PMG are re- 
moved and encapsulated In the VBI. It even 
destroys tiic identity of each ralssUe, coalesc- 
ing them into an independent player almost 
seamlessly. Private dat.a belonging to each 



24 



Page 6's New Atari User 



Page S's New Atcirl User 



25 



PROGRAMMING 




player Is hidden from the user Motivation 
secret^ records the vertical pasttloit and 
Image length used by the last VBL This is 
what OOP la aJl about. Wc cannot sec any of 
the machineiy and we never need to- Motiva- 
tion, of course, is not perfect as I stated In the 
accompanying article. There Is plenty of scope 
for improvement to strengthen the object- 
oriented aspects. 

A project which cries out for an OOP 
approach Is a windows graphical-Interface 
system. Each window Is perceived aa Inde- 
pendent entity; why not develop a windows 
program in the same way by using OOP? 
Thliik of what data aivd subroutines should 
be attached to a WINDOW object Are there 
different ^pes of windows? Would Inheritance 
play a part? How can we invoK'c a "pointer" to 
tntedace with a window? And so on. 

One problem I've faced when doing eKtensive 
machine language work Is that when graphic- 
all changes arc Issued they can sometlTncs 
end up out of sync ^ Suppose I wanted to 
change the entire screen display; all of the 
player-missile graphics must change, a diffe- 
rent display list will be selected and new dls- 
play-hst interrupts will be Invoked. If 1 simply 
prograjnmed up these changes one after 
another then It Is likely that there wlii be a 
brief flash of chaos aa some of these changes 
become visible before all of the changes have 
been finished. The easy way out Is to turn 
AlSmC olTwlth the POKE 559,0 trick, do all 
the changes, then turn it back on. This works 
but cannot give the Impression of shifting 
from one situation to another conttnuously. 
The brief black screen is a pause in flow. I've 
alu^ys wanted tq be able to change the entire 
screen display without such an Interruption. 
AU of the changes can be delegated to the VBT 
to accomplish this, but It gets veiy compli- 
cated, very quickly. OOP helps because by 
constructing a SCREEN class consisting of all 



the important screen data, the Information is 
centralised and the situation Is controlled. 
We have examined Just three situations 
w^here OOP can help. Therx: are many, many 
more. Some of these are not obvious but aU 
are effective in reducing complexity and im- 
proving reusability. 



CODA 



It has been a long haul, but It is finally time 
to conclude our discussion of OOP. The aim 
of Objct D'Ail Was to confer some new prog- 
ramming ideas to the reader and to demons- 
trate their benefits. This is not easy to do in 
Just three articles. The principles of object- 
orlentatton have been explored far more thor- 
oughly elsewhere; what you have read here Is 
merely a gross simpMcatlon of OOP. There 
an: plenty of books on the subject, but sadly T 
have found many of them Inaccessible to the 
casual programmer. Most are aimed at the 
those fluent in modem programming tcrnil- 
nology and normally experienced In the lan- 
guage C. 

Nevertheless, I hope I have stlmulatGd your 
Interest In something different. We have to 
remain aware of what is going on around us 
as the w^idd moves on and there Is always 
more to leam. Just as object-oilentatlon has 
been established as the be-all and end-all, its 
flaws are already being examined, OOP is not 
the "ultimate" approach, it is just the latest 
one. New busKwoids aje Invented eveiy day - 
for example, have you ever heard of polytypic 
programming? Who knows what the next re- 
volution is or what it wUl bring? We must all 
keep our eyes open and be preparad to accept 
new Ideas - otherwise we wlU quickly become 
nothing more than a collection of interesting 
antf(]ues, • 



HAPPY TYP R 



Dennis Fogerty 
revives one of his 
favourite programs 
from Monitor 
magazine 



Long ago when I did a lot of program- 
ming and typing of Itsdng^s on my XL I 
found this program a godsend. Today ^ 
hopefully, others wUl find it helpful too. All 
credit must go to Steve Hillen, (w^here are you 
now?), and 1 hope he won't object to my pepro- 
duclng his article here verbatim 

INTRODUCTION 

The Happy Typer la a utility for use with 
Atari Basic, it will give you automatic intelli- 
gent line-numbering and 10 extra keys which 
you can redefine to print out keywords, thus 
speeding up your typing. Unlike many auto 
line numbering laciEtLes. tills one allows the 
full use of the Atari screen editor, so you can 
adjust Uncs while still in the auto mode. The 
redefined keys are accessed by pressing the 
SHIFT and COffTROL keys simultaneously 
with a number key. These keys are not used 
by Basic or tlie operating system, so you can 
sttll type In all those control characters. 



by Steve Hi 



MAKING A BOOT DISK 



For a disk system, type in the listing and 
save It Type RUN and the program wUl check 
your typing and ensure that the data Is cor- 
rect Retype those Unes that produce an error. 
Once it Is ready the program wtU ask you to 
Insert a disk with DOS on it. The program will 
then save out an Autorun.sys fUe onto the 
disk. Don't change the filename ■ Happy 
Typer vOl only work as an Autorun.sys file. 
The next time you boot this disk with Basic, 
Happy Typer will be ready for use. 

USING HAPPY TYPER 

THE AUTO UNE NUMBERING 

Every time you tap the TAB key after a RE- 
TURM. a new line number will be printed. If 
you type on the TAB key and the last key 
pressed was not a RETURN then the TAB will 
be performed as normal. This is better illus- 
trated by example. 

Directly after power-up. press the TAB key - 
the first line number wlU be printed. Type 
?"heUo ' then RETURfd then TAB, The next 
line nuitiber will appear. Play around and get 
used to using One TAB key after a RETURN. If 
you type In a few lines of Basic, then list 
them, then press RETURN and TAB, the next 
line number after the last Unc of your prog- 
ram is printed. Alsoi jf you use the cursor 



20 



Page 6's New Atari User 



P&ge 6's New Atari User 



27 



El 1 m mmmimmummnmu 

DZ 2 REM t m?Fi TYPEfi mSK VERSION) i 

NP 3 REM Sf &r STEVE HiLLEN i 

EI fl m f *^fl^J^SR rwBflziNE. issue ? i 
EM 5 REM muummmnmmnmu 

DM ta MTA e,l,2,3^4,5,dj7t8,9,ejfl,^0,l| 

ttl IS DIM MTi(9]),HE)((22^ 

GZ 21 FOR X=B TO 22: READ D;HD(a)=D:N£n 

X;LINE=m:RE^QRE leSliTIWP 68;? 'Che 

cKing data*:? 
LI 25 L]NE=LINE4li:? CHRf^ZB) i'Linsi'jLIN 

ErREflU DAT* : IF LEN([MTt)(>98 TKEN I IB 
go 2% DATLIN£=PElK<183)+PEEK(IB4)^25i-IF 

WTLINEOLINE THEN ? 'Line :'|LINEi' n 

i&sing/iEND 
LU n FQfi X=l TQ B9 STEP SiDl^^rtSCCMTKX, 

X) ) -48 ! O^SC(MTt (X+ 1 ,X+ 1) ) -4S : BTTE-H 

EX<DI)I16+HEX(D2) 
JH 35 IF PftSS=Z THEN PUT SljBnEsNEXT XiR 

m CKKSU1:G0T0 25 
BL 48 TffTAL=T[JTAi+Dl+02+?i:IF mAD999 T 

HEN T0TAL=T0TAL-18ee 
CE 45 NEXT XjREM CHKSi*1:IF T0TAL=CHKSLI1 

THEN 25 
ME 59 GOTO Ui 

PE ii IF PEEK( l?5)<}i THEN 118 
IL 65 IF PASS=2 THEN PiJT III,224rPUT »I,2: 

PLff (I1,22S!PIK tl.ZiPiJT lll,7B:PUT *I,3 

i-Xm£ Hi!? "Boni it.'rEND 
JK 79 ? 'Insert dHK with DOS. Press <ret 

Ltrn>.';!DIM IMI(1>;INPUT MtOPEN 11,8 

j8f'D;AliTQRUN.SYS' 
HH n m lli,255rPlfT ill,255jPtfT Hl^iiPl/T 

ll,31:PUT II,176jPUT 11,34 
m 19e ? "Unting ^ile'i' r? tPflSS=2;LlNE 

=99&:R£STDRE I8S8:TRftP 69: GOTO 25 
A2 118 ? 'Bad data on line:';LJN£sLIST LI 

NE;? TOTAL :EJ^O 
FC 1889 DATA 28FFFFDft^94E0DE7a2A?22BO£SB2 

A29flB01AB3Ee£B£8C?45DiF6BD13e385CBBPl9 



8385CCA?IB9D18e3ft?22?Dl9,243 

W II IB MTA 93ABIFB ICB99 162388 !9FaADlFZ2 
18699 ieD5e2^AD2i22699ieD5 12BA?2a8D2e22 
A94EBD ! F22AD2, 122 16698 18D, 232 

XY 1929 DATA 9D2lAD2222^98BflDeE2178ADe892 
B[W5IFADB992BW6IFA91F8DB992A?7EBDiflB2 
58 l86e78D88A48?a48ftC 1822,31! 

AK I93B mA ADB9D2B:)1322A23?DD442ZFn3[A 
lSF8C?2C!)Q84C8eCF02Qd9AQ6fim584CFFFFBD 
6421F91BSD^32!EAIA8A8ABA,59I 

XP 1I4B MTA (W8E622lBDiE212S?C2IAE622lEB 
CE6321DBEE4C9F]FA2FFE8BDflE22C933FIFe8E 
192228 BC21EE1922AE1922BD, 7^7 

EP 1959 EWTA 9E22E0059eF9A92iaDFC82iM868 
^6fl5e48A2FFEe385iB09il5C92IF8F6C939F9 
F2994?C9^Bi45EeA88e99eE,B23 

XK I860 DATA 22BDa88S297FC93e988CC93AB99B 
E8E3C9859BEAF014A294B98E229DBE22CA88I9 
FM93fi90aE22M18FAlBW2i4,926 

CD 1979 DATA BD13227DeE22C?*^9»93EflA389D 
»E22[:AIflED6fl2eFFFFBBC9?BD08A48984878 
29F31F5eA2BBBE4322Ae88B?,31 

SS IBB« MA Bi85DD2B22DeBB£eCBCee399F2B9 
lDC8E8Cee3DiFA££4322E8855>BE lAPFFSD 1A22 
6MB69AM99BEE lA222BilAC ,229 

RO 1998 DATA !A22AyfBm88S3D9iia^£4322BD 
3322fiDD62BBD3t228DD72r2BD52IA28e8ElA22 
991W9899e42B30£49ei^97F,251 

SH IIBB DATA 9D4883A9229D45&3A9359D448329 
56E44C4DAe4CFFFFAIFFC8B98495C99BFaiEC9 
3B9ia4CP3ft96Fe38B91E803e,393 

AB 1118 DATA Ff^2B4E?e48529eF9Dl322CAeBlB 
F4ESI a 30 l9A9ee9D 1322CA 1 BFA ! Bi&28FFFF69 
A994B98e85C93B9H6C93AB8 ,427 

IB JI20 DATA ^2'MmAmihmmAmB^6i 

2 lCBB988fl5C99B0B 8 ?68A«9e9m42 lFa2 ice 
e9BS95CP?EFill?I!iE21E9E£,543 
m 1138 DATA 612lA04i21C91899EAC£612!6&W 
AD612l9D64211368336Sa88eBeee8«98«i8898 
B9BB88BBBBBBB«tt8«e88988,2l5 



mi^K = INVERSE CHARACTERS ■ [ } : CONTROL + CHARACTER - < > = iKVERSE CONTROL + CHARACTER 



keys to move to another line, and press RE- 
TURN on that, then the next auto Une will be 
that plus 10. 

This method of auto line numberliig remem- 
bers the last line you typed, and gives you the 
next one If selected with the TAB key- 
Finally, to change the tncfement of the auto 
line numtnering, just type; IMC nn where nn la 
any number you like. e.g. INC 2000 will give 
line nimibers 2000 apart, TMC } will give 
numbers one apart 

THE REDEFINED KEYS 

The keys tliat can be redefined are the idw of 
10 numbers aciiosa the top of the keyboard. 
To redefine a key typeiDEF I ?" hello". 

Every time you type SHIFT CONTROL 1 
simultaneously. 7"hello"' wUl be printed. 
Another example: DEF 8 POKE, Now a shift - 



TM 1148 DATA 88899999e889BBB8l8Bflillie8il 



BB888fe888e8e999B9BB»tBB,S35 
m 1 151 CiATA ti89e99988899999988BBBSBmt 



BB?BB8Be9B«ee89999ee8999,S55 
T14 1168 DATA e8BBBBBIBe8BB8e8B88888888BB9 



89888998aB8BBPIBmiB98 , 175 
m \m mif\ 88899999BB89eeBdi88BB8B98889 
08888939383e313BBBBB8Biie88Be88899BBB9 

Bi88Blii@B«««8e888BB999Bj512 
AF 118B DATA BB494E43444546292!D3195379iE 
74il7829657272dF722£9BfiBF2DFDEDAD8DDQB 
F3F5FBA9BCB0I822A58C8D9 1,628 

JT 1196 DATA lFft5BD8D82IFAPe8858CA91Fa5BD 
rt9BBBD4492fl2liA?8?9D42e3^922P045Ba98B 
9D44e3A99B9D4983A97F9D4e,684 

Hfi 1288 MTA B32856E44C931F4B6 I 7»?fi 792854 
797e6572284F4B2£9B888998e98889BBBIBBIB 
BIBMBBBBBB8y8998889eBB,297 



28 



Page 6's New Atari User 



Page B's Neiv Atari User 



control 8 will type out POKE, Get the Idea? 

Note that the spB.a between DEF 1 , and the 
string are Important, also the space between 
INC and nn. Also note that each key Is allo- 
cated 16 characters, so this Is the majdmum 
you can stuff Into one key. If you redefine a 
key that has already been redellncd, then the 
last redefinition will be printed. If you should 
wish to delete a key Just type DEF 1 then 
RETURN without the second spare, You will 
find that all charactiers, except trailing spaces 
and the return key, can be printed, so you 
might set Up One key to backspace, say. 1 
characters by using the Escape CntJ cursor 
keys. 

Finally, don't worry about hitting the System 
Reset key, the prograjn Is safe^ installed and 
protected, and will rememiber all the k'^s 
youVe redefined, and the Increment and cur- 
rent line number. 



HOW DOES IT WORK? 

The program falls Into two sections. Firstly 
there Is an editor patch. The editor Is kieated 
In the device table, and Its vectors are moved 
Into RAM. I adjust the get-byte vector to point 
to my new routine. This new routine waits for 
a return to be typed then scans the Input 
buffer for either INC or DEF, If neither are 
found then the llrie Js passed back to [Basic as 
a normal Une. If one Is found, then the opera- 
tion is performed, and the line is not passed 
to Basic, The second section is a patch Into 
the keypress mutine. The k^press interrupt 
vector la stolen and the new routine looks for 
a shift- control number or a TAB Immediately 
following a return. If a defined kty is detected, 
then the mitring is printed out a byte at a time 
through the editor put-byte routine. If a TAB 
is found, then the Inpvit bufTer Is ejtamined 
for a line number and the increment la added 
to form the next number which is then prin- 
ted via the put-byte routine, • 

29 



UTILITY 




CD COLLECTION 

DATABASE 



This CD csollection database program 
was written by rtie In 1997 In an 
attempt to catak!ig;ue my ever growing 
collection of CDs. 

The flrst question you're probably about to 
ask Is why anyone wouJd actually want to 
catalogue their CDst Well there are a number 
of reasons for this. Firstly, It gives you a hand 
re<sjrd of exactly what you have (and, let's 
face It, when youVc got more than about 50 
CD's, you're unlikely to be able to remember 
them all). This would be uscAjI In the e\.'ent of 
an insuiantjft claim, ahould your collection be 
stolen or damaged. In my case, I have aittnnd 
450 CI>a. many of which are hard to fLnd or 
limited edition versions, and are therefore of 
gjeat monetaiy and senttmental value to mc. 
[Incidentally, it's well worth keeping receipts 
and taking pbotna of your collection regularly 
tn the event of an Insurance dalm arising), 

I also find the program useful because It 
allows me to search quickly for all of the CDs 
I have by any one artist, (useful because 1 
sometimes sell CD's). If you wanted to put a 
number after each CD name, in brackets, you 
oould use the program to tell you where In 
your csoUcetion to find the particular CD 
you're looking for. This feature Is quicker 
than looking through all CDs by hand, espe- 
cially as the writing on the spine of a CD case 
Is usually small, in different fonts, and some- 
times with tlie artist and sometimes with the 
title appearing llrat. 



by Kevin Cooke 



FIRST GET 
A WORD PROCESSOR 

This relatively short program, written In 
Tutbo BASIC (13 years old and still one of the 
best versions of BASIC I've ever encoun- 
tered]), is simply a highly- specialised test file 
viewer, 'fhe four databases are stored as tc^d 
files [created with a word processor of your 
choice] and then read by the program. You 
may criticise my choice of making you use a 
separate word processor to create your data- 
base, but let mc cjcplain m.y reasoning. First- 
ly, any extra text editor program I wrote 
would have dilUculty competing with the flexi' 
blllty of a dedicated word processor. Seeoridly, 
despite the speed of oomputere, when youVe 
got a large file of Information, nothing can 
sort things Into alphabetical order faster than 
YOUl It seemed silly to write a program to sort 
each new entry Into It's oooect alphabetical 
database position when It's so easy to do it 
yourselft Thirdly. 1 wanted to keep the prog- 
ram as short as possible so that It would load 
and run quickly - If it didn't do this, It would 
defeat the whole purpose of the program, 
which Is to save you time. 



OPTIONS 

When the program loads and runs, you are 
presented with a menu offering you 7 options. 
Tlie first two allow you to search for aU tities 
by the artist of your choice In either the 
album or single database. The next two en- 
tries aUow you to view all singles or albums in 
the database In order, tn case you can't find 
the artist that you are looking for In your 
search using the first two options. 

The next two options allow you to look at the 
database of the music compilations and 
movie soundtracks stored on the disk. 

Finally- the last option quits to DOS. 



SAMPLES 

On this Issue's disk you will find the data- 
base ready to run along with four sample 
database (text} files: 

ALBUMS - The album database 
SINGLES - The single database 
CQMF1LAT - The Compilation database 
SOI^NDTRA - The Movie sou ndtrsick database 

The format of caeh database file, as you will 
aee by examining my example flics, must be 
as follows: 

For the cdbirni or singles daiabase: 

SURNAME, FlRSrr NAME 

- 1st Album or single title 

- 2nd Album or single Utje 

- 3rd Album or single titie 

• 

NAME OF BAND /GROUP 

- 1st Album or single title 

• 

WEl'WETW'ET 

- Picture this 

- End of part 1 



For the tnoufe soundtrack or compfloHon 
database Jfies: 

- BEVERLY HIU^ COP U 



- BODYGUARD, THE 

- BOOMERANG 
« 

END OF FILE 

The easiest way to keep to this format Is to 
copy the sam,ple database Qles, along with the 
main program, onto a separate disk and edit 
the sample files to contain the titles of your 
own CDs. 

As can be seen, for the movie soundtrack 
and compilation databases, you do not have 
to enter the artist name. This Is because the 
tracks on these CDs am usually by a number 
of different artists, hence the program, aulo- 
matieally displays 'Various Artists" under the 
"Artist" heading when the file is viewed. 



TAPES TOO 

Of course, [ mean no prejudice towards cas- 
sette tape users by referring to CDs through- 
out these instructions. The program is equally 
as useable for people who only own cassettes, 
but I am recognising the feet that nowadays a 
lot of people have CD players and few shops 
have a wide selection of new albums on cas- 
sette tape. 

I hope you enjoy using the program. It fulAb 
my needs, and 1 hope It fulflls yours. If you 
have any suggestions or comments, feel free 
to write to me via Page 6 to let me know. • 



END OF FILE 



30 



Pa^ B's New Atort User 



THE USTING 

TMs profrajEn can be found on this 
isBue's disk ready to run^ A TYPO 
coded t}^e-in listing is Avajlable em 
request - see inside back cover 



Pags €'s Neiu Atari User 



31 




PROGRAMMING 

USEFUL 



John Foskett 
explains the easy 
way to connect 
machine language 
with Basic 



There Is no doubt that USR Is a very 
tmpoTtant Instruction In the BASIC 
language since this Is the only In- 
struction with which the BASIC programnier 
Can obtain the advantages of machine code. 
For instance it Is often necessary to move a, 
block of dAi£L from ons ^dress to another 
such as when copying the character set Into 
RAM. moving PMGa vertically, etc. Doing this 
In BASIC can be veiy time consuming but by 
using a machine code rtjudne ^-la USR, the 
process Is virtually instant. The advantages of 
machine code are obvious - much reduced 
initialising times, smooth PMG movement, 
animation, etc, and all this is available to the 
BASIC programmer via USR. Bajslcal^, what 
Is awkward and difficult if not Impossible in 
BASIC Is a breeze In machine code. 



USR 



WHAT IS USR? 

The USR Instruction is used to GOSUB to a 
machine code subroudne after which control 
is returned to BASIC In exactly Uie same way 
as BASIC gosub^ to a BASIC subroutine. In a 
similar way to passing values Into a BASIC 
sybroutlne, that Is by equating variables prior 
to calling the subroutine, values or pana- 
mctcra may If necessary by passed Into the 
machine code routine via the USR call. When 
used without additional parameters, the USR 
function contains only the address of the 
machine csode routine thus [assuming the 
routine is at the start of page 6).... 

X=USR(1536) 



Altemstlvety. the machine code routine may 
be contained within a string as relocatable 
code (say MC$] in which case USR Is used as 
follows..., 

X.USR(ADR(MCI)) 

In some cases when the machine code 
routine Is relatively small and particularly if 
only used onoe, the machine code routine 
representing MC$ may be placed directly into 
the USR function as follows.,.. 

X=USR{ADRC'machine code string")) 

When USR ts used with additional para- 
meters, they follow the address of Lhc 
machine code routine all separated by com- 
mas. Assuming the use of TWO additional 



32 



Page 6's New Atcwi User 



parameters [A and B) the above three USR 
functions become.,-, 

X.USR(1536,A,B} 
X-USR(ADR(WC$)AB) 
X-USR(ADRrmachine code string"), A, B) 



THE STACK 

When running any program, the computer 
constantly uses the stack (page 1 of RAM) ms 
a temporary storage for storing addresses and 
values when actlonlng subroulinea. loops, 
etc. The stack Is a special part of the compu- 
ters RAM which requires no addressing and 
no reference of any kind, information Is sim- 
ply stored there, where it is actually put is 
Immaterial. The best way to visualise hew the 
stack works is to Imagine a pile of plates 
where the plates rnust be put on and taken off 
the pile in order, thus the last plate on the 
pUe MUST be the first plate to be removed. 
From this It can be seen that the slack works 
on the "Last In First Out" (UFO] principle and 
so long as this rule Is strictly adhered to. 
there wUl be no stack errors. This then la the 
reason why no addressing or referencing of 
any kind Is required in order to use the stack. 



WHY MENTION 
THE STACK? 

Normally a programmer doesn't need to con- 
sider the stack since Its working fs fiilly auto- 
matic via the computers operating system. 
The only time the BASIC programmer must 
consider the stack Is when writing the 
machine code roudnc which will be actloned 
via the USR command. This Is because USR 
Stores at least one value on the stack during 
its operation which MUST be removed prior to 



returning to BASIC in order to let the compu- 
ter "see" the return address which it stored 
there prior to actloning the routine In the first 
place. If this is not done then it can be seen 
why the computer may produce stack errors 
(error 10) or even crash or lock up since it wUI 
obviously read the wrong return arddress prior 
to returning to BASIC. 



THE PARAMETERS 

In order to pass any parameters to the 
machine code routine that the USR command 
may contain. USR places them on the stack 
following the return address In a two-byte 
format. USR stores the low-byte first followed 
by the high-byte and in the order of the last 
parameter first which allows their retrieval 
from the stack to be In a logical sequence 
which is the Ilrst parameter in the USR call 
first in the order of high-byte flrsL 



THE ODD BYTE 

After aU the parameters (if any) have been 
stored on the stack, the USR command stores 
a further value on the stack, a value of its 
own, a record of the number of parameters 
Included in the call This odd byte from now 
on referred to as the "odd byte" may at first 
appear absolutely useless, but It can have a 
very Important role to play. 



THE MACHINE 
CODE ROUTINE 

As previously stated, aU parameters and the 
odd byte must be removed from the stack by 
the machine code routine before exiting back 



Page 6's New Atari User 



33 



■ 



to BASIC and assembly language has the 
"PLA" Instruction which docs this, FT^A. stands 
for "PuLl Accumulator" which literally pulls 
the last entry off the stack and loads It Into 
the processors accumulator for actloning by 
the nnaqhlnc code routine. Note that PLA only 
removes ONE byte from the stack, therefore 
two PLAa arc rcquinsd to remove each para- 
meter from the stack even if the vialue of the 
parameter Is less than 256 In which C^asc tlie 
high -byte will be zero. Also note that only 
ONE PLA Is required to remo^'e the odd byte 
from the stack since it can never exceed 255 If 
only because of the length of a BASIC line. It 
therefore foUowa that unless your machine 
code routine makes use of the stack itself, 
there should always be ari ODD number of 
PLAs In the machine code routine. 



EXAMPLE ROUTINES 

The following example routtnes are for de- 
mimstrallon purposes only and are designed 
to change the screen colour to show their 
working. The following routines assume the 
machine code louttne has been assembled in 
Page 6 at address 153€. Note that the source 
code listings and the BASIC programs for the 
routines have been included on the issue disk 
for convenience, 

ROUnm 1: A SIMPLE ROUTINE 

Source code J^ naine U5R1.SRC 
BASIC demoJUe name USRl.BAS 

The following is a very simple routine which 
changes the screen colour from the normal 
Atari blue to green. The routine Is called 
using X=USRU 536) 

PLA 

LDA#iao 

STA710 
RTS 



The first Instruction is PIA which removes 
the odd byte Irom the stack and loads its 
value (zero in this case] Into the processors 
accumulator. This value is unwanted so It is 
discarded by the next instruction which loads 
the processors accumulator with the number 
1 80 using LDA [LoaD Accumulator) which is 
then stored in location 710 using STA [STone 
Accumulator) ■w^hcTE location 710 is the 
screen colour register. This Is the machine 
code or the assembly language equivalent of 
POKE 710, 18Q, The last Instruction ts KTS 
[RcTum from Subroutine) which exits the 
routine and returns control back to BASIC. 



ROUTINE 2: USING PARAMETERS 

Sow^e codeJUe name USl^a.SRC 
BASIC dertx&jUe nan^ USRa.BAS 

A more Qcxlblc Version of the above routine 
[routine 1) which uses a single parameter to 
pass the screen colour value Into the niachlne 
code routine. This routine can accommodate 
any colour value required from BASIC without 
the need to modifir the routine itself. The 
routine is called usingX=USR{1536,A) 

PiA 
PLA 
PLA 

STA 71 
RTS 

As before the first PLA removes the odd byte 
from the stack which is then discarded and 
the next two PLAs remove the one paj^meter 
from the stack. Since a colour value cannot 
exceed 2S5, only the low-byte ts required 
hence the high-byte Is discarded. With the 
colour value currently stored In the proces- 
sors accumulator via the last PLA, it is then 
stored in location 710 and the routine exited 
via Frrs returning control to BASIC as before. 
Note that If the value of the parameter used In 
the call is greater than 255, then only Its 
low-byte will be considered. 



34 



Page 6's New Atari User 



ROUTINE 3: A CRASHPROOT 
ROUTINE 

Source codef&e name USR3.SRC 
BASIC deirtofSe name USR3.BAS 

To exit comsctly from a machine code 
routine, the correct number of paxBonctcrs 
MUST be used in the USR call, thus if a 
machine code rouUne Is written tO' use ONE 
parameter then only ONE parameter must be 
used within the USR call. The following 
routine shows how the "odd value" stored on 
the stack can be used to produce a completely 
crashproof routine no matter how many para- 
meters are used tn the call. The routine will 
cycle through as mariy screen colours as 
there are pai^-metcrs tn the call before return- 
ing to Basic. The routine Is called using 
X=USR( 1 536 , A, B,C , D„ , . . „nl 

PLA 

BEQ EXIT 

TAX 
LOOP 

PLA 

PLA 

STA 710 

LDA #200 

STA 20 
DELAY 

LDA 20 

BNE DELAY 

DEX 

BNE LOOP 
EXIT 

RTS 

As before the llrst PLA removes the odd byte 
from the stack which is then transferred into 
the processors X-register using TAX fTraiisfer 
Accumulalor ta X-register). Note that the odd 
byte is first checked to see If Its value is aero 
using B£g (Branch If EQual (to zero]] before 
transfETTing its value into die X-register, If the 
value Is zero, then there are no parameters In 



Page 6's New Atari User 



the USR command and the routine Ja exited 
via the label EXIT to the RTS frustructlon to 
exit back to BASIC, If at least one parameter 
is used In the USR command, then the loop 
(Identtflcd by the label LOOP) Is entered where 
ONE parameter Is removed from the stack via. 
the two PLAs. again only the low-byte is re- 
quired as before which Is then stored In loca- 
tion 710 using STA as before. To allow the 
routines operation to be seen, a time delay 
loop has been Incorporated using location 20, 
the Igw-bytE of the computers real time clock. 
The number 200 is stored in location 20 and 
the delay loop waits for its value to return to 
zero before preceding which gives about a l 
second delay. After the delay, the X-reglster is 
decremented by I using DEX (DEcrement X- 
reglsteiil and checked to see if its value is 
equal to zero using BNE (Branch if Not Ek^ual 
(to zero)) and if zero the routine Is exited vja 
KTS as before. If the X- register does not con- 
tain a zero at this point, the loop is executed 
again to remove the next parameter from the 
stack which Is then aetloned as before. Note 
that the X-regfster ahvays contains a record of 
the number of parameters remaining on the 
stack during the operation of this routine. It 
is therefore only a matter of checking the 
X-T«gtstcr Id see If there are any more para- 
meters on the stack and If so. remove them 
foractionlng. but tf not, exit back to BASIC 
via RTS as before. 



ROUTINE 4: SET AND RESET 

Source codepe tmme USft4.SRC 
BASIC demo JSe nnme USR-I.BAS 

The following routine wUJ set the screen col- 
our according to the colour value of the para- 
meter used In the USR command and will 
reset the colour back tn the normal Atari blue 
when used without a parameter. Note that the 
routine can only be used with either one or no 
pararneters and if used with miore than one, 

35 



then a crash will result. The routine Is called 
In the following two ways X^USR[l 536^ to 
set the screen colour and X=USRE1 536) to 
reiset it back to blue. 

LDX#14d 
PLA 

BEQ RESET 
PLA 
PLA 
TAX 
RESET 
STX 71 
RTS 

The first instruction In this routine is to load 
the X-neglster with the number 148 using 
LDX (LoaD X-JtgJsterl which Is the default 
value for the normal Atari blue screen. The 
next instruction Is the PLA which removes the 
odd byte from the stack and since this routine 
allows the use of only one or no parameters to 
be used In the USR command, the nejd in- 
stnlctlon. the BEQ (Bmnch if EQual (to zero]] 
Is used to determine in which mode the 
routine is being used. If the value was found 
to be zcK). that is the USR call was made 
without a parameter, then the routine bran- 
ches to tlie label RESET. The default colour 
value of 1 48 originally loaded into the X- 
register at the start of the routine is then 
stored in location 710 using STX (STbre X- 
regJster) after which the routine is exited 
using RTS. If however the odd byte was not 
zeato (in other wondis it was 1], that is the USR 
command was made with a parameter, then 
the parameter is removed from the stack 
using the two PLAs and its low-byte loaded 
into the accumulator. The colour value la 
then ti=insferrod into the X-register using TAX 
overwriting the default value of 148 originally 
put there. The value Is then stored In location 
710 using ST^ after which the routine is 
exited back to BASIC via RTS as before, Also 
note that PLA does not have to be the first 
Instruction In the source code. 



ROUTINE 5: RETURNING VALUES 
TO BASIC 

Source iXideJU^ names U5RSA.SRC 

USR5B.5HC 

BASIC d^mnj&e nufnes USRSA.BAS 

USRSB.BAS 

The variable used to action a machine code 
routine when using USR (X In these exam- 
ples) can be used to return values to BASIC 
after the routine has been executed. The 
value loaded Into the BASIC variable is deter- 
mined by the tw?o zero page locations 212 and 
213 in the normal low/ high 2 -byte format. 
The foUowtng routine works In the opposite 
mode to the previous routines tn that this 
routine randomly selects the colour value it- 
self, changes the screen colour accordingly 
and rtturiis the value to BASIC so that you 
know what the selected value was. The 
routine is executed using X=USR[1536) where 
the colour value is loaded into the variable 'X'. 
The routine may also be actioned using 
■PRJNT USR(1536) ' or "? USR[1S36) which 
will print the selected colour value directly on 
screen. 

Listing 1 (USRSA.SRC) 

PLA 

LDA 53770 

STA710 

STA 212 

LDA#0 

STA 213 

RTS 

Listing 2 {USB5B.SRC) 

PLA 

STA 21 3 
LDA 53770 
STA 71 
STA 212 
RTS 

In the first listing, the first Instruction is the 



36 



Pcj^ G's New Atari User 



normal PLA which removes the odd byte from 
the stack. Next the processors accumulator is 
loaded with a random number from location 
53770 (the random number generator] which 
is in the range of to 255 Inclusive. The 
random number selected is stored In the ooh 
our register 710 as before and also Into loca- 
tion 212, the low-byte of the value for return- 
ing to BASIC. The accumulator Is then zeroed 
by loading it with the number zero which la 
then stored in location 213. the high-byte of 
the value for returning to BASIC because the 
high-byte will always be zero. The routine is 
then exited using Rre as before. 

The second listlitg shows a little trick that 
can be done by re-arranglng the UsUng to 
rcdiitie the length of the routine to save mem- 
ory (2 bytes lo this case). Because no para- 
meters arc used when calling this routine, the 
odd byte will automattcally be zero which will 
be tosidcd into the accumulator by the PLA 
instruction. Since the accumulator contains a 
zero at this point, it makes good progratmming 
sense to take advantage of it and use it to 
zero location 2 1 3 so that "LDA flO" may be 
omitted from the listing and so reduce the 
length of the final routine. 

Note that there is a bug In the Turbo BASIC 
compfier which prevents USR fmm returning 
the correct values to BASIC. If a program 
using this feature is to be compiled, then the 
two locations 212 and 213 could be PEEKed 
from BASIC in the normal way and then the 
two values combined using the usual low/ 
high two byte calculation as follows..,, 

X-PEEK<2 1 2)+256' PEEK(21 3) 



A MEMORY MOVER ROUTINE 

•Souree codejiie name USIRS.SRC 
BASIC dsmofile nanie USR6.0AS 

To conclude this article, a very useful mem- 
OTy moving routine which works tn a similar 



way to Turbo BASICS MOVE command. The 
routine will move up to 256 bytes of data from 
one address in memory to another. The 
routine may be used in conjunction with 
PMGs to move shape data into the player 
stripes to create smooth vertical movement as 
demonstrated In the BASIC demo program. 
The routine is executed using..,. 

X=ySR(l536,ADDR1 ,ADDR2.NUM) 

Where NUM number of bytes Is moved from 
address ADDRl to addresa ADDR2. 

PLA 
PLA 

STA 204 
PLA 

STA 203 
PLA 

STA 206 
PLA. 

STA 205 
PLA 
PLA 

STA 207 
LDY#0 
LOOP 
LDA (203),Y 
STA (205) ,Y 
I NY 

OPY 207 
BNE LOOP 
RTS 

Note the necessary use of the zero page loca- 
tions 203 to 206 for accessing the twio addres- 
ses using Indirect Indexed addressing. Also 
note that location 207 Is used to store the 
number of bytes to be moved, but this loca- 
tion need not reside tn page zero. It may in 
fact reside an^nvhere In memoty. • 



Page 6's New Atari User 



37 



The CLASSIC 






PD ZO0\(E 



FAREWELL 
TO FUTURA 

THE FINAL ISSUES 



This issue we present the oonduding half 
of this exanmatioTi of the FUTURA disk 
magazine which is now available from 
the Page 6 Library. 



FUTURA SIXTEEN 

Text articles Include - ATARI S-BFT NEWS - 
Other Atart 8-blt gupportcrs. SOFTWARE 
SCENE - Kevin Cooke reviews Tube Baddies, 
DTP ATARI8 - Eric Bcmrose oonttnues his 
oolunm on Atari S-bit desktop publishing. 
This time he Looks at Daisy-Dot IL ADDING A 
MOUSE - Part 5, Miilti-Moiise & Board 
Ganies. HARDWARE WAREHOUSE - Atari 
DOS Disk Stnictun;, THE ATARI 8-BlT 
BOOKSHELF - Booklist Part 6, S-Z. and 
Appendix A SOFTWARE SCENE 2 - Kevin 
Cooke returns with a review of Demo Maker 
Update. VCS FUTURA - Cartridges by Atari 
[CX2eO 1 - CX2699). THE BLACK AND RED - 
TnLrcKiuction and News, Jaguar CD-ROM 



by 

Austin Hillman 



drive and game tips. Cannon Fodder reviewed 
by Michael Clatworthy, Ralden review and 
game tips by Michael Clatworthy. Tempest 
2000 reviewed by Dan Baverstock. 

The prtjgrams Include PING - An extremely 
addictive game which can be played with an 
ST mouse or Jcystlck- ULTRA TRANSISTOR - 
The ultimate translator for your XL/XEI It can 
even be used with 400/800 cartridges, 

Dos WIZARD ' Is a superb disk analyzer 
which must l>e loaded with a translalorL Use 
Ultra Translator, simply press SELECT at the 
title screen and then load IX>S Wizard, Please 
read the documentation first before using this 
powerful program. Using DOS Wizard you can 
gain a detailed analysis of single deosily 
dtsks, re<Mver flies mistakenly deleted, dis- 
play complete sector maps or Individual sec- 
tors, etc. 

MAGNIFY - An impressive screen dump utility 
with extra features. Tiy it with the two pic- 
lures, BOX and COVER which come with 
Ping. 



FUTURA SEVENTEEN 

Text articles include - ATARI 8 BIT NEWS - 
J.F. Software. Micro Discount. AMS95 RE- 
PORT - Kevin Cooke ncpiirtii from the show of 



SB 



Page 6's New Atiati User 



the year. THE ATARI 8-Brr BOOKSHELF - 
Atari Adventures, a book review by Kevin 
Cooke. DTP ATARie - Dot-Magict TURBO 
BASIC FLYER - Ron F^etzer's prograinming 
column. ADDING A MO USE - Part 6. GOE 
Demo. PROGFIAMMEH PROFILE - Lucasfilm a 
David Levinc. THE BLACK AND RED - The 
Jaguar CD ROM package reviewed by Michael 
Clatworthy. Dino Dudes review and level 
codes. VCS FUTURA - Cartridges by Atari 
(CX26100 - CX26192). ATAl^ S-BiTTFdVLA - 
Kevin Cooke issues a trivia ehaUengel 

DESKIXW - from the French disk Cenacle 
News. Boot with BASIC and the desktop will 
auto -load. Use a joystick (or the arrow keys) 
to move the pointer to D, 1 and press the 
Joystick button (or Return). A list of all the 
files on the disk will appear. Select a file to 
bad by moving the pointer oT.'er It and press- 
ing the joystick button. This desktop will load 
both BASIC and machine code flics. Not quite 
up the standard of Windows 95. but not bad 
for the humble 8-bit. 

CHOPF THE ROBOT - A colourful, challeng- 
ing arcade game from Cenacle News One. You 
must guide Chopp the Robot down the 
screen, rescue the stranded human and re- 
turn to the mother ship. ANAGRAM - A utility 
which computes anagrams, of up to stx let- 
ters. From Cenacle News Six. OTHEILO BUTT. 
- A version of the popular board game also 
from Cenacle News Six. Use a Joystick to 
move the pointer and piess the button to lay 
a piece. BSA 73 - Version 2 of a BASIC (in all 
senses of the word] work slmulatfon g^ame 
Written by Alan Hitchcn, set in the days when 
we stil had a motorcycle Industry. 

OUiCKKEF 1.2- Analyses the structure of 
your BASIC programs. Does supplied. PROG- 



P<jge 6's Neur Atari User 



RAM HELPER - Slim down your BASIC prog- 
ram by converting constants into variables. 
Does supplied. FMT- A very useful utility 
which allows you to format with or witliout 
IJOS flks. Works with the desktop, FUJI 12B 
Good demo. PARAM, SPACEBAR jDECIAIALS 
and GRLDADER are programs described in 
the Turbo BASIC Flyer column, 

LINE-UP ' Comes from Chile and describes 
itself as the ultimate version of Tctris in the 
public domain, who am 1 to argue with that 
description, THE BnTER REAUTY MECADE- 
MO - This is a 9-part ejttravagainza which 
reaJly shows the power potential of a well 
progammed XL/7S. 



FUTURA EIGHTEEN 

Text articles include - ATARI 8- BIT NEWS - 
AC PC, Linefeed, The Page 6 ST Llbraiy. 
HAFmWARE WAREHOUSE • Building a Ught 
pen. THE ATAI^ 8-BlT BOOKSHELF - Kevin 
Cooke reviews Itty Bitty Bytes of Space. NET- 
WORK. TO THE WORLD - Communlcaaons 
article by Joe Hlcswa, DTP ATARlB - Daisy 
Dot 111. PACMAN FOR THERAPY? - Kevin 
Cooke boks at modem medicine. THE 
TURBO BASIC FLYER - by Ron Fetzer. 
FRIENDLY VIEWS ON THE ST - by Les Wagjar 
and Stuart Murray. ADDING A MOUSE - Part 
7, The Bmndles Editor. A SHORT HISTORY 
OF COMPUTERS - What came before your 
Atari e-bit, CALLING AU. NOSTALGLft EN- 
THUSIASTS - Some light humour. 

USTER - This is a program for prlntiiig out 
your program listings complete with aU of the 
special characters, lliere Is an example listing 

39 





pitnvided for you to play with. gUICKDOS,BAS 
-This prcijgraiii. froTn the old Atari User (Vol.S 
No. 2), altiers DOS 2.G to put DUP.SYS in the 
shadow RAM under the OS \n XL/XE 
machines. After the first E>OS call which runs 
from the disk as usual, aU subsequent calls 
will run from the OS with no bss of merrniiy 
a^ It !& autjoitmtlcally saved. 

DRAW800 - A slrnple but plcaaing graphics 
demo showing the good ol' Atari 800. jPAGBB. 
PROGRAMl and PROGRAM2 are the piu^ams 
to be used with the Turbo BASIC Flyer 
column. 

TJiE CAVES OF CTULHI ■ Is a revised version 
of Robert dc Ijcttcr's gamie which was pub- 
lished in NAU 70. CTULHrS RM:VENGE - Is his 
all new sequel with load? of puzzle actionl 



FUTURA NINETEEN 

Text articles include - ATARI a -BIT NEWS - 
ACPC, UKAAUG. ADDlUfO A MOUSE - Part 8. 
Noughts & Crosses. DTP ATARI S - Digital 
Editor V3.6. SOFTW^ARE SCENE - Rambit 
Taskmaster. SOFTWARE SCENE 2 - Jaw- 
bleaker & Mousekattack. HANDY HINT - 
RamdiskXL. A SHORT AND STUPID STORY - 
Light humour. VCS FUTURA - 2600 Audio 
Modification. PD SOFTWARE SCENE - 
Megablast HARDWARE WAREHOUSE - Nin- 
tendo Controls on the Atari 9-blL THE ATARI 
8-Brr BOOKSHEIJ' - Advanced ProgrammJng 
Techniques for your Atari. 'mE BLACK AND 
RED - Atari: The End? 

NOUGHTS & CROSSES - New software from 
Kevin Cooke. See his column ADDING A 
MOUSE. CARTXJONSLTDESHOW' Colourful 
artwork by Kevin Cooke. KEYMASTER - A 

40 



keyboard enhancement utUlly, adds many 
functions. Full docs are Included. 

FOm" MASTER - Allows fast printing of prog- 
ram listings. Including special characters. 
There are lots of options available. S7DE- 
WAYS.DOC Is a test file for use with the side- 
ways Syncalc print option. Two fonts, ROMAN 
and MODERN, are Included for use with Op- 
tions 3 and 4. UKEiV MY ATAR/ ^ A superb 
singsong music and graphics demo by Philip 
Price and Gary GUbertson- LABEL 720 - 
Allows you to read and write Identity tags to 
your disks In the otherwise unused sector 
720. FINANCIAL CALCULATION PROGRAM ■ 
OiTers help with your Investment? and loans, 
works out many difficult calculations in a 
trice, 

SADDLI^MAN Is a very enjoyable g^ine from 
Francs. It was programmed for Atart France 
In 1985 as part of a nationwide contest In 
association with Le\1's Jeans, It was never 
sold and la therefore in the public domain for 
us all to enjoy. There are five parts to the 
g^me. Use keys 1-5 to select a part. Press 
START to play and RESET to return to the 
main menu* Great funi 



FUTURA TWENTY 



Text artldea include - ATARI 8-BlTNEWS - 
Page 6, Telegames. DTP ATAKie - F^e Editor 
V3.3. SOFTWARE SCENE - Address Database 
and Envelope Prtnter reviewed by Kevin 
Cooke. VCS FUTURA - 2600 video Modifiica- 
tlon< THE BLACK AND RED - Jaguar news, 
reviews, tips and a look at Atari Entertain- 
ment. 



Page G's New Atari User 



CREATER.OBJ - A powerful menu utility. 
MfCJ^ODOS.Oa/ - The classic menu utility for 
loading machine code ftles. RD & RDF - PSI 
RAMdlsk 2.03 and PSI RDFormat J .35 for use 
with SpartaDOS 3. 2d. FORAfDOSl & 
FORMDOS2 ' Format, DOS. DUP. RAMdish all 
In one operation. A very useful utility by the 
late Alex Plgnato. SETLCPDOS - A tokenlzed 
BASIC routine to patch DOS 2.5 for two SD 
RAMdisks on a 256K XL. 

FALCON DEMO - A top-notch demo by 
Hurckl Press the Spacebar at the se toller to 
prxjgress to the main demo. COLORS DEMO - 
Kaleidoscope demo. BOUNCE- 24 demo boxea 
on one screenl IMAGINE! - A lightning fast 
graphics demo written in Action! KEYCODE 
GETTER V3.0 - Keyboard codes utility. AJR 
HOCKEY ' Fast sports game based on the old 
arcade favourite. Great fun in 2-player modet 
WEBMASTER - F\in game. Just eat the flies 
and keep the rival spiders away. Easy to play. 



FUTURA TWENTYONE 

The regular text articles come to a conclu- 
sion in this final Issue. ATARI 8- BIT NEWS - 
or Hackcre and Cenacle stiU going strong. 
DTP ATARI 8 - Parts 7 & 8. individual art and 
printing programs and series conclusion. 
HARDWARE WAREHOUSE - Re -Inking prin- 
ter ribbons. SOFTWARE SCENE - Demo 
Maker and Draw 7. VTOC - How It works. 
VCS FUTURA - 7800 video modification. TOE 
BLACK AND RED - Jaguar news and Power 
Drive Rally review. 

CREATE A FONT - A character set editor can 
be used with the 'Character Sets in an In- 
stant' article. DECODE - A Mastcmdnd-type 



quiz game by Frank Walters. INSTANT CHAR- 
ACTER SETS - Article and a set of programs 
to convert alternative character sets into 
strings for Instant loading when used with 
BASIC programs. 

DISKfABEL 2,2 - Disk labeller plus printer 
driver. COL80 - An 80-column file reader, 
with docs tn 80 column format ready to read. 



THE LAST WORD 
FROM STUART 

Here's what Stuart said as his farewtU' - "So 
here UJe Jifld purselues al th^Jhial see-ya In 
tt^Jhial Flitura, 1 don't see this o-^ a goodbye^ 
but more of a see-ya i-S-ter. /'m always going 
to be around, an the S-btl sc^ne and wM prob- 
ably appear now and again wUh an article or 
review in one of the Atari piiblicatSons^ Fm 
looking Jommni to tvriting a series of articles 
on ih^ Atari Wotid Video Game CharT^ian- 
ships of 1982/83. It's about time I nobsd down 
oR that happertsfl behind, the scenes! 

Vm Finally looktriQjonvajpd to ^tting stuek 
into 8-b(t titles such as KaratehOf Star Raiders 
II. Ultima IV, Ir^irator, etc,, etc. Thene are so 
many tiiles I haue purchased oyer the years 
thnt have har^i) ever seen the (nsids of my 
disk dsivei It is nou; ttme/or me to ersfoy them. 
aSi. 

Aii. that is left to say is ajinal gigantic 
THANKS Lo everyone who has supported 
J^tura over the years! You truly cine an amnz- 
Cr^ group of people! Keep usir^ that 8-bit and 
remember that toother, WE are Atarit 
See-ya L-8-terl' 



Page G's New Atari User 



41 



PROGRAMMING 



SORTING AND 

SEARCHING 



Daniel Yelland 
presents routines for 
you to use in your 
own programs 



At first sight sorting and searching dD«3 
not appear to be a vety useful thing to 
do when programming, however a lot 
of programnilng problems can be solved with 
sorting and searching techniques. 
A computer game is not the application you 
would trnmediately think of for using such 
techniques, but what about high score 
tables? In &>olball manager games and adven- 
ttire games searching for details is Important 
aJso, More serious applications of sorting and 
searching could be in a database or account- 
ing progmm. This article Is about some of the 
techniques used when sorting and searching 
data. 

Some search techniques require the data to 
be sorted which explains the relationship be- 
tween the two processes. The examples given 
will aE Involve numbers but could equally well 
be used on alphanumeric data. Also unless 
stated otherwise the data Is being sorted Into 
ascending order. 



SORTING 



SELECT SORT - The most obvious sort 
algorithm la the one we ourselves use when 
sorting data. We look through the data to And 
the srnailcat element and place it In position 
1, then we rep-eat the process for the next 
smallest element and so on until the data ia 
sorted. This technique is called the Selection 
sort and an example program demonstrating 
this Is given in SELECT. BAS. You will find the 
program on this Issue's disk. This Is how It 
works - given 5 numbers, say 

15,7,3, 10,9 

wc look through the Ust at each element In 
turn until we find the smallest. In this case It 
turns out to be 3. so 

3 is put to the beginning of the list so the data 
now looks hke this 

3. IS, 7, 10, 9 

We repeat the process, now ignoring the 3 as 
we know it is in order. The next smallest 
number Is 7 and so that is plaocd in the list 



42 



Page 6's New Atari User 



just after the 3 

3.7. 15, 10,9 

The process la repeated untU the list Is sorted 

3,7,9, IS, 10 
3, 7, 9, to, 15 

This technique is the most obvious but It is 
not the fastest or most efficient, so other tech- 
niques have been tried and tested. 

BU B BLE SORT - Most people have heard 
of the Bubble sort. It Is probably the most 
famous of computing sort routines but It Is 
also one of the worst in this technique neigh- 
bouring pairs of elements tn the list are com- 
pared and If the element higher In the list has 
a lower value than the element lower In the 
list the pair are swapped. The whole list is 
compared in this way with swaps taking place 
until the list Is completely sorted. Usually a 
flag is set to report no swaps were made 
during a pass, which signals the list is sorted. 
So with our original data set 

15,7.3.10,9 



15 > 7 so swap 
15 > 3 so swap 
15 > 10 so swap 
15 > 9 so swap 



First Pass 

7,15,3, 10.9 
7,3, 15, 10.9 
7,3, 10, 15,9 
7,3,10,9,15 

The list after first pass Is 

7, 3, 10, 9, 15 

The largest value (15) has "bubbled" to the 
top which Is where the technique gets it's 
name from* 

Second Pas.? 



7,3,10.9. 15 

3, 7, 10, 9, 15 



3,7,10.9,15 
3,7,9.10.15 
3, 7,9, 10, 15 

List after second pass: 



7 < 10 so no swap 

10 > 9 so swap 

10 <: 15 so no swap 



7 > 3 so swap 



3,7,9, 10, 15 
In this cast: the list is sorted after two passes, 
it should be noted that 3 passes arc made as 
the process doesn't terminate untU there arc 
no swaps- BTJBBLE.BAS on this Issue's disk 
is an example routine showing this technique. 

INSERTION SORT ■ Another famous one, 
this technique is one of the most efilclcnt but 
also one of the hardest to code. It is done the 
way people sort a hand of cards. For eicainple 
consider the hand of cards dealt as - K 6 2 9 6 

Sort 

K5296 
5 K 2 9 6 
25KB6 
259Ke 
Z56&K 

This Is done by looking at the list from left to 
right and "correcting" elements which are out 
of order. On each pass we compare with the 
Items on the left until we find one larger, or 
reach the start of the list. The others "shuffle 
up" to make way for each moved element as 
in the example above. We insert the current 
item In the correct place and repeat this up 
until the last Item. The pmgram tNSERT.BAS 
demonstrates this. 

SHELL SORT - This routine could be said 
to be a variation on the Bubble aorL Invented 
by Donald Shell, in this method elements of a 
fixed gap apart are compared rather than 
adjacent elements as In the bubble sort The 



Page S's New Atari User 



43 



elements of the fixed gap apart are sorted In 
the aamt: way as the bubble sort and then the 
^p Is halved and the process Js ji^peatedn 
This is done until the gap Is equal to 1 where 
a standard bubble sort then takes place. 

The advantage of this routine over a stan- 
dard bubble sort Is that elements get to their 
oomeet position In the list quicker than In the 
bubble sort as elements travel further to- 
wards their correct position In each swap. 

An example of this routine is in SHEU^ .BAS 



PROGRAMMINO 
THE TECHNIQUES 

since aU of the data to be sorted is in lists 
the best data type to use to hold the elements 
is an array. Each element of the array holds 
an element of the llat. Varlableji are used to 
hold the elements being compared and Loop 
struc ture!» are used to provide the Iteration of 
the routines (e.^ continue untU list sorted). 



SEARCHING 

LINEAR SEARCH - Again the most simple 
search reutlne is the one we ourselves use 
when searching for data. We look through the 
list until the element Is found and stop when 
we either find the element or we have boked 
through the whole list. 
So looking f^sr 10 in the original list would 
result in: 

Original list:- 15, 7, 3, 10. 9 

Item 1 (15) not equal to 10 so cionttnue 



Item 2 (7) not e^^ual to 10 so continue 

Item 3 (3) not equal to 10 SO continue 

Item 4 (10) equal to 10 so stop 
"Found" Is returned, 

if the whole Hat is sejirchcd and the element 
not found we stop the process and "Not 
Found" Is returned. An example program of 
this is shown In LINEAR .HAS, 

BINARY CHOP - This fs a vciy emdent 
routine in that any element of 1000 elements 
can be found In just 10 passes. This muttne 
however requires the data to be sorted first. 

The routine works by using pointers which 
can be represented as variables tn BASIC 
which point bo the beginning of the Ust [e.g. 
array) and the end of the list, These will be 
referred to as the "start pointer^ and "end 
pointer" respectively. Assuming the list is In 
order a middle value Is taken from the list 
and compared against the search value. If it Is 
equal to It the process termlnales and 

'FOUND" is returned. If the middle value is 
less than the search value the starting pointer 
is set to the data Item after the middle value 
In the list. If the middle value is greater than 
the search value the end pointer is set to the 
data item below the middle value In the list. 
After the pointers have been adjusted ihc pro- 
cess is repeated until either the element is 
found or the pointers coincide or cross one 
another (e.g. end pointer points to an element 
below the element start pointer points to.) 

BmCB:OP.BAS lUustrntes this technique. 
The sort routine used to sort the data is the 
same one in SELECI .BAS. 

There are many other sort and search tech- 
niques and the ones shown hcrc are only a 
few moderately well knowrn ones. Hopefully 
tliese routines wUI be of use in your own 
prograrns, # 



44 



Page S 's Neu^ Atari User 



•M; KCESsmsHo^ 



A COUPLE OF THE BEST 



#267 - DISK DOCTOR 

More advanced users may find this collection 
liivaSuablc for when something gfjts wrortg or If 
tliey need lo bsck up their disks or create chclr 
own pnilected software. Some of the best dtslt; 
utilities anaund Include VTOCFIX which ex- 
annlnea the V&lumc Tabic of Contents and allows 
you to fij! pit>t>|ema, espectaliy when you get a 
dlslt that shows fewer ftuc sectors than yny 
should have. S<XTn!3' to Ahiorlc only In single densi- 
ty thoiJ(g)h- TRACER is a most comprehensive 
dfal?/acctoranalyg<:rwjth the luat graphic Inter- 
face cvirri £«en on this type of ■utility. E^lt and 
copy sectors, search fcr Info and much, much 
more in s, great utility. If you need to create 
'{U22y' or bad seetors then FUZZY will do It for 
you with case. Another sector editor Is SECTOR 
which lets y<Hi edit, copy and duplicate sectors 
Eind much morewltJh some «nira special FatillOea 
especially for aJvanoed programmers, Also 
allows j-ou to create 'slow' si^lora smri has a built 
In drive speed checlter. BURP la a boot udiity 
pack that will allow you to create ynur tjwn 
custom di^Vs. by copj'lng files, tapes to disk, tnot 
flies and more. It will also copy Mulu-biHjt and 
Rob C- Menu programs and has comprehensive 
DOS utiHty feamrcs. To round oflTOLD OPERAT- 
ING SYSTEM in a version of the old 400/800 OS 
which seems to be specifically for n^nnlng ROMs 
and tapes th at have problems on the XI- 



DS#112- PAGE EDITOR 

Tw0 Disk S*t. One uf th£ few . if nat the only, 
page layout system for the Atari S-tall ki give you 
WYSrWYG (What You See Is What You Get] desk 
top publishing. Page Editor Is an easy to use text 
and graphlcH cdttur that featurea an 80 column 
display and hi-nra graphtcg un the aamt act«en 
with the ability to place text and graphlca any- 
where you desircr The Page Editor sohware 
shows you exactly how the pa^c ghould apptai' 
on your prtnlcr [requires Epsjm ctimpatlble) . In 
addition to the Pfige Editor program the software 
package Includes utilfUea to convert word pro- 
cessor text Ales, Print Shop format clip art and 
additional L:hairacter sets. The pro^^'aiii can be 
run tn Turbo Basic ibr extra speed. The matn 
programs, together with character sets and sam- 
ple pa^s arc included on the main disk with 
exten^^tve documentation on a separate disk. 
EJocumcntation mns to 1 1 pa^a giving you all 
yuu need to know about uslr^ Page Editor and 
Its uulldes. This program won't allow you to 
create your own version of New Atari User but 
will give anyoiie with an XL- or XE and a printer 
the opportunity to create teitercsUng {xage lay- 
nuits ftsT aX\ stitlA of applications , 

TiM> disk s*t - pTit:m£2.&0 



DON'T FORGET 



DS#72 - 
DS#73 - 
DS#7a - 
DS#79 - 
DS#87- 
DS#89 - 
DS#137 
DS#13S 
DS#139 
DS#140 
DS#14T 



FUTURA 1 
FUTURA 2 
FUTURA 3 
FUTURA 4 
FUTURA 5 
FUTURA 6 

- FUTURA 7 

- FUTURA 6 

- FUTURA 9 

' FUTURA 10 

- FUTURA 1 1 



DS#142 
DS#143 

DS#144 
D$#145 

D$#147 

D$#i4a 

DS#149 

D5#150 

DS#1S1 



-FUTURA 12 

- FUTURA 13 

- FUTURA 14 

- FUTURA 15 

- FUTURA 14 

-FUTURA 17* 
disk Issue at £2.50 

-FUTURA 18 

-FUTURA 19* 

disk Sssuv at £2.50 

- FUTURA 20 

- FUTURA 21 



RECENT 
ADDITIONS 

DS#L33- JOTRIDE 

A grvat europeart deTnii 

DS#134-B0BTERM 

The top comms progrtvn 

PS#136' ATARI CAD 

A superb design program, 
especicdly for those who 
use ctncuiiiC diagrams - our 
best seller last issue 

BVYNOW! 



Page 6's Neiv Atari User 



4S 



BARGAIN CASSETTES 



Your choice of 

any 5 CESSOttCS for £1,50 plus SOp p&p 
any 10 CaSSCttCS for £2.00 plus £1.20 p&p 



180 



«^ LOS ANGELES SWAT • REVENGE II 



BOMB FUSION • MASTER CHESS • ROCKFORD 



^ 



^ 



DESPATCH RIDER ^ MILK RACE 



FEUD 



• MR Dia 



FOOTBAU MANAGER NINJA 



GHOSTBUSTERS ^ ON CUE 



GUN LAW 



PANTHER 



HENRY'S HOUSE ^ PENOON 



INVASION 
KIKSTART 



^ PLASTRON 



• SIDEWINDER II 



^ SPEED HAWK 



v^ SPEED ZONE ^ 



^ STAR RAIDERS •' 



^ TAIL OF BETA LYPiAE ^ 



^ TWILJGHT WORLD v^ 



^ UNIVERSAL HEROv^ 



^ ^ TRANSniSK TV shows you hozv 
^o irttnGfcr tHese to tiiski 



COMMERCIAL SOFTWAKE STILL AVAILABLE 

VERYLIMTTED NUMBERS 

(Prlc«« bic. pifrp) 

NIBBLER DiSUID JUOGLE'S HOUSE 

D\ik £1,00 Disk £1.70 Cassette £1.70 

MAXWELL'S DEMON LANCELOT BAHALION COMMANDER 

Di£k £1.00 Cas»H« £1,90 Cassette £170 



ORDER ITEMS FROM THE ACCESSORY SHOP WtTH THE ORDER FORM 

ENCLOSED WITH THIS ISSUE OR WRtTE TO 

PACE 6, P.O. BOX 34, STAFFORD, ST16 IDR 

TELEPHONE ORDERS ACCEPTED ON 01785 341153 USIHG ACCESS OR VISA 



40 



ptage 6*s New Atari User 



! Features 

ond 



SPARTADOS 

An overview and list of commands 



SpartaDos Is probably the most sophis- 
ticated disk operating system de- 
veloped for the Atari 8- Bit system, and 
it knocks spots off Atari Dos 2.5, Tt supports 
multiple sijb-dinectortes [known as folders on 
the ST], fill! time/date stamping of Hies, TuU 
random access to any byte within a file, batch 
cocnmarid files, hard disk access, and a whole 
host of more specialist features. 
SpartaDos keeps most of It's code locked 
away under the operating system so you get 
more free memory for your programs. Even 
with the most powerful configuration, you will 
stU] have 32.501 free bytes available to Baste, 
and the smaller versions can leave as much 
as 36, 176 avaJlable. These flgunis should be 
set against 32.274 with Dos 2.5 and 37,902 
with no Dos at all! 



GET A CLOCKl 

If you can find one [new or second hand] use 
ICD's R-Tlme S batteiy backed-up clock car- 
tridge and the connect time and date will al- 
ways be available to be stamped on each new 
file created. The clock module plugs into the 
standard cartridge port and has a replace- 
Tnent socket on the top for another cartridge. 
It has been tried wf ih Action!, Mac/65, Basic/ 
XE, AtarlWri^ter, Atari Assembler/Editor and 
so on - and It sseems completely transparent 
to every thing. T^ere js even a Z: driVer which 
allows you to access the clock directly from 
Basic. 



compiled by 



M. Tomlin 



US DOUBLER 

Where SpartaD(M realty comes into its own is 
in conjunction with another ICD product - the 
Us Doubler, This used to come In the form of 
two plug'ln ICs for the 1050 drive which not 
only give It the abUily to work In true double 
density but also speeds up the data, transfer 
rate considerably. Once these chips arc in- 
stalled, your drive is supercharged. Upon 
booting your SpartaDos master disk the old 
bleep, bleep, bleep sound is replaced by a 
burst of rapid reading speed. Reading data 
from a disk is rou^ly four times faster than 
with a standard 1050 drive, but after allowing 
for seek Umc (the time taken to move the 
head around the disk) the average speed In- 
crease is nearer three times. TTie increase In 
speed of writing is less at roughly twict a9 
fast llie other major feature of the US Doub- 
let is to give access to true double density, 
giving 180k per disk as opposed to 90 k in 
single or 1 30k In enhanced density. Double 
denstiy actually uses 720 sectors per disk, as 
with single densltj', but each sector contains 
256 bytes of data rather than 128. This does 
mean that you'll have to remember to format 
and write in standard mode If you wish to give 
a disk to somebody without a US EJoubler, 



Page 6's New Atari User 



47 



SpartaDos Commands (vers. 3*2) 




and comparison with DOS 2.5 | 


D<i« 2>5 SpartATIos 


Pnnction 


A 


DDtS 


Disk dtrectoiy, any drive {Dos 2.k fDrmat] 


B. 


CAR 


Go to cartridge (if present] 


C 


COPT/XCOPT 


Copies f)]e(s) (multiple drives) 





ERASE 


Delete flle{s] from disk 


E 


RENAME 


Rename flle(s) on disk 


F 


PROTECT 


Protect fSllc(s] from accidental erasure 


G 


UNPROTECT 


Remove erasure protection from BJe[sJ 


H 


n/a 


Write Dos fl:le (handled during format by XINrT) 


1 


XENIT 


Formats disk [see also MNlTi 


J 


DUFD6K 


Duplicate whole disk 


K 


SAVE 


Save blnaiy flle (see al&o APPEND] 


L 


LOAD 


Load binary ftle (see also OFF IXiAD) 


M 


warn 


Run machine code at given address 


N 


n/a 


Create MEM-SAV (SpartaDos is always in mcmnry) 


O 


XOOPT 


Copy iile(s) (single drive) [see aKo SPCOPY} 


P 


AIMT 


Format (Single density Dos 2.0 mode) 




APPEUD 


Save binary flic at end of exiting fUe 




AUTOBAT 


Select batch file to run when Reset Is pressed 




BASIC ON/OFF 


Turns Internal Basic on or off 




BOOT 


Set filename to load when no Dos present on disk 




BYPASS 


Modify hard disk drtv* access number 




CHJiDSK 


Give current disk statlsUcs 




CHTD 


Chanjlc time/date stamp on flle(s) 




CHVOL 


Change volume name of disk 




CREDIR 


Makes new sub-directoiy 




CWD 


Change default path details for current drive 




DATE 


Set system date 




DELDIR 


Delete sub-dlrectoiy [must be empty] 




7DIR 


Shows path to specified sub-dircdtory 




DIR 


Disk directory (E^xtended format: time/date /bytes] 



4a 



DUMP 


Print file as Ascii + hex digits to screen 


KET ON/OFF 


lype-ahead buffer on or off 


LOCK/UnU>CK 


Protect whole disk from write operations 


MDUMP 


As for DUMP, but to print memory Mjntents 


MEM 


Show current Dos lome m/ himem values 


BfENU 


Load menu system (may be set as default) 


OFF-LOAD 


Blnaiy load file, with offset 


PAUSE 


Walt for a key to be pressed (In batch flics) 


PORT 


Change the RS-ZSZ configuration 


PRINT 


Echo screen output to another device like P; orC: 


PUTRUN 


Add run address to binary file 


RD 


Set up icimdlsk [many configurations available) 


RPH 


Test disk drive rotation speed 


RS232 


Load RS-Z32 driver for 850 moduk/PiR; connection 


TIME 


Set system Ome 


TDLINE 


Load time/date header line routine 


TD ON /OFF 


Turn time/date line on or off [requires TDLINE) 


TREE 


Shows aU sub-directories/fllcs (alphabetical) 


TTPE 


Shows AscU file contents on screen 


VERIFY ON/OFF 


Turns disk write on or o(T 


TSDPf 


Turn off I/O redirection (disable PRlNT/batch mode) 


ZHAND 


Activate Zi for ame/date handling fmm Basle 


-filename 


Execute batch command flic (extender = .BAT) 


GlenBine 


Execute machine code flle (extender = .COM) 


Da: 


Select new dc^uJt drive number, n 



Pcige 6's Neiu Atari User 



but this is veiy simple since SpartaDos Is 
Intelligent enough to detect what type of disk 
it is using. 



OVERVIEW 

SpartaDos has so many features that it is 
Impoasiblc to describe them all In full but ihc 
list of SpartaDos ccnimajida will give you 
some idea of its amazing power and DexibUity 
when compared with Dos 2*5, 1 like the tlmc/- 



date stamping of files and the sub-directory 
facilities, and their ease of use from Basle and 
other languages. SpaitaEtos can also read, 
write and format Dos 2 di^ks autdmatically, 
so you need never wooy about which type 
you ciarrently have in the drive. It can even 
handle a hard disk if you happen to have one. 
[f you can get hold of a copy (or even a photo 
copy] of the excellent manual all the better 
but as most pesople nowadays wUl only be able 
to get a copy without the manual I have In- 
cluded a list of most of the available eom- 
mands which should help. • 



Pog^ 0's New Aiari User 



49 



J. 





PRACTICAL 
USE OF THE 
INTERNET 



Y 



John S Davison 
continues his 
exploration of 
the IntemBt 




so 



on can't have failed to notice that the 
Internet Is now beginning to touch our 
eveiyday Ifves. It's not Just mentioned 
in the mass media any more - theyVe actually 
begun to embrace It and directly encourage 
Its use, For Instance, many radio DJ's now 
regularly Invite communication from listeners 
via e-mail while they're on the air; an incrcas- 
Ini5 number ofTV programmes now have their 
own World Wide Web addresses where addi- 
tional information can be (bund; and many 
adverts on TV, In magazines and newspapers, 
and even on poster hoardings now quote the 
companies' WWW addresses along with their 
promotidnal messages. 
But, there are still many people who view the 
Internet as a high technology toy used only by 
computer gccks who play with it "because It's 
there" or who use it purely for (dubious forms 
ol) entertainment. This view generally stems 
from the fact that "nQn-bellevers" have no 
obvious practical use for It themselves. Such 
people need to use it "for real", l,e, with a 
specific purpose hi mind, before they'll accept 
It for what It is - an Incredibly rich source of 
infonnatJon, entenalninent, and increasingly, 
on-line commerelal services (known variously 
as ''e-bustness", "e-caimmieree", or even e- 
shopplng"). So, over the next few lastics I'll be 
looking at examples of practical use of the 
Internet to see ho^v practical they really arc. 

Fage 6's New Atcai User 




OK. I know this Isn't Atari specific, but there's 
no reason a suitably configured Atari couldn't 
be used In the ways described hert;. 



TO AMERICA 
VIA CYBERSPACE 

The practical use of the Internet was recently 
highlighted to us as a family following my 
elder son's decision to take up a Job offer In 
the USA. Long time readers of NAU may re- 
member John jnr ■ he wrote over 1 20 pieces 
for the magjaatnc several years back while he 
was atlll at school. And thanks to this early 
experience (plus a lot of hand work) he's sub- 
sequently been able Uj buUd himself a very 
successful career in the rnagazlnc publishing 
Industty, As we'll see, the Internet has figured 
prominently In his latest career move. 

lie recently accepted the postof Eidltor-ln- 
Chlef of Electro nic Gaming Monthly, a hugely 
popular magazine for users of games consules 
such as the Nintendo N64, Sony Playstation, 



- 1»Fn+ H^t- - Avilrtin kt f^iHidi Fl'm-? T^h FlO-rt' Plin^-I 




Avalon at Danada Farms 

! VJvild Cmit 

Wk(u«», □. (sols'? 
tUO) IM-WnO 1' FAX (£») »«-»» 

Udkl Hnii M-F: ! - «, Sui IB - 5, Suai 11 . 



and sfmUar, The magazine Is based near Chi- 
cago and much of the communication be- 
tween John and his new employer was con- 
ducted via Internet e-maJl, whQe he was still 
working In the UK. The tln»e difference of 6 
hours betuween London and Chicago makes 
telephone communication Inconvenient and 
e-mail provided the perfect solution. So, the 
Internet proved a real benefit to John, right 
from the start of negotiations. 



FINDING A HOME 

Once he'd accepted the job the hard work 
began. It's hassle enough moving to a new Job 
in a different part of the UK, but when It's 
5.000 miles away on a different continent the 
problems increase tenfold at least! The first 
challenge was to find somewhere to Uve, But 
how do you do that without spending weeks 
Uvjng In a hotel white trying to househunt 
and simultaneously attempting to get stuck 
into the new Job? The answer - use the Inter- 
net as a househunting tool before you mcfve to 

the new job, 
John used a 
search engine to 
find the Web sites 
of companies that 
advertised prop- 
erties for rent The 
one he ei.'cntually 
settled on was cal- 
led RenLNet (http:/ 
/www,rent,net if 
you csr^ to take a 




TTi ij.-.v!.a!jcj!;»-»iEgaBJiau»g3c-3U.aniutJ.aiai 



Floorplan of a 
property on 
RenLNet 



Fage 6's New Atari User 



91 



Picture oj 
property 
development 
inWheaton 
on RentNet 



Avitlon xtDimada Firm 



M0^ 




i 






fgl|ju^W^ww^l^l..^'^*^i^^^*M^■i!^w^^a»^?^^ 



Icjok). This lets you search for rental prop- 
erties anywhere In America (eJI 50 states), 
Canada, and In ccrtMn othier parts of the 
world too- You tell it the type of properly you 
want. e.g. an unfumlahcd apartment, and It 
then steps you through a scries of pages 
where you jtfine your require tnents. You tell 
It which USA state you want tn Uve In (TlUnDls 
In John's case), and then which major city 
area (Chicago). It then presents you with a list 
of Chicago suburban areas. After selecting the 
suburbs of Interest {Lombard and Wheaton tn 
John's case, as hts nc^v company Is based 
there) you teU it the size of property required 
(e,g, one bedroom, two bedroom, etc.] and the 
price range to look for A list of available 
properties to suit your requlretnents and 
pocket then appears. Clicking on these brings 
Up further information, including phone, fax, 
or e-mail details of the letting agents and, 
most usefully, photographs and floor plans of 
each property, so you can get a good idea of 
wh&t they're Uke before going to view them for 
real. 

If there are lota of properties meeting your 
criteria you can produce a prtoritlscd list 
based on ara.enltles available, For instance, 
you may want somewhere that allows pets 
(Important to John as his two cats emigrated 
with himi); or that has air conditioning fitted; 
or has a dishwasher and niiciDWavc Included. 
Properties meeting these requirements are 
then placed at the top of the Lst, so you don't 
have to search every listed item yourself. Nifty 
or Tvhat? 



Vlc 



\ 



RESEARCHING 
THE LOCALITY 



Obvlousty, you also want to know somethl, 
about the area in which the available prop- "^ 
ertles are iocatjed. Those on John's shorUisi 
were fn Wheaton, so by using a search engl 
to find references to Wheaton you can th«n 
click your way to the City of Wheaton home 
page (htlp: / /city . wheaton- lib, iLus /cow/ 
indejc2,html}. Through this and other links 
contained there you can find out virtually 
everything you need to know about Wheats 
and what's currently going on there. It's re|f 
larly updated too. 

John and his wife All (yes, he's married nOi 
then flew out to Chicago to view tlve apart- ' 
ments shortlisted fmm Rcnt.NeL They were 
on the point of signing up for one of them 
when the letting agent showed them a bran, 
new development In WTieaten that was only 
Just about to be put on the Rent, Net Web sii 
They found a town house In this complex tl, *" 
was even better than their original choice, a. 
they went for this Instead. 

Rent.Net also offers other facilities associ- 
ated with moving house. For Instance, then^ 
are details of self storage units you can rcnj 
to store your belongings in while you sort oi 



H- 



new accommodation. There are links to con 
panics from which you tan hire self-drive 
removal vans for do-it-yourself re- 
movals. There are details of lot^ 



H 



52 



Pc^e 6's New Atari User 







schools and child care services, 
cable TV hook-up companies, and 
Insurance companies, [f you don't 
have any furniture you can even 
rent some friom here too. John 
and Ah's own furniture was being 
shipped from the UK by sea and 
took about six Weeks to reach Chi- 
cago, They'd rented the town 
house well before the furniture de- 
livery date, so faced the prospect 
of a month or more without a stick 
of furniture In the place. The solu- 
tion was to take out a short term 
rental on a houseful of furniture 
and household appliances until 
their own stuff arrived. 
You can also find the location of 
the properties using an on-hne 
map. There are maps on Rent.Net 
showing Chicago and surrounding 
areas, but there's a much bctlcr 
map faeUlly available through 
Yahoo, at http://niap- 
s.yahoo.com. You key In the prop- 
erty's full postal address and a 
fully zoomable map of the area 
appears, with your selected 
address marked on It. You can 
zoom out until the map shows the 
whole USA or zoom In until you 
have a local streetmap of the Im- 
mediate area around the specified 
address. If you then supply the 
address of your currEnt kicadon 
the system will provide driving 
directions from there to the properly you want 
to view. It Is rather like the Auto Route prog- 












diWKiw,'! ±m ban- ■* our ;AP«' ff^m 'h lldj. TItaiM*, vti Tmc4 k 



._^^jBt,^,iMfcMiL^iS 



^^^^^^S 



CUy of Wheatmi Home Page 




Map of Whsaton area by Yafyx) Maps 



ram available for the Atari ST a few years ago 



E-FLOWERS 



Since John moved to Chicago we've kept in 
l^iuch with him on a daily basis through e- 
nialL Phone calls cost far n»re than e-mail. 



so are reserved for weekends and special 
occasions. One such occasion was Mother's 
Day. and as well as phoning his mum John 
also sent her a large bouquet of flowers. He 
selected, ordered, and paid for these via the 
Inteifloni Web site (http://www.interflor- 
a.co.uk). Mere you can choose a price range 
and style of bouquet you want to send, spe- 
cifying the types or e^ien the colours of flowers 
to be Included. Photographs of suitable bou- 
Pas^ 6*s New Atari User 53 




., 



quels aiB di^iplaycd, from which you choose 
the one you wanL You then enter delivery 
address, tiitie ajid date fordellveiy. and a 
message for the accompanying card (plus 
your credit card details^ of course), and Interf- 
lora. take It from there. It works amazingly 
well. His mum was so Impressed that she 
used the same senrtee shortly afterwards to 
send flowers to HER mum, to eheer her up 
foliowLng an Illness. However, she still has 
misgivings about sending credit card details 
over the Internet, SO she phoned our local 
Interflora florist Instead to order the item 
she'd chosen on the Web site, Annoylngf)^, It 
cost more to do It over the phone than via the 
Internet, 
Well, 1 think the above Is proof positive that 



the Internet does have practical applications. 
Admittedly It could all have been done In 
other ways, but would have taken far longer 
to achieve. Immediacy Is one of the Internet's 
bluest plus poMts, and It certainly helped 
John and All to rapidly set up their new life in 
Amertca. 
Several months on from John's move we 
decided to take a holiday In the USA. Natural- 
ly, we wanted to go to Chicago to see him, but 
we also decided to visit friends In Texas whom 
we'd not seen for several years. You can prob- 
ably guess what's coming next. Ycs^ we 
arranged most of the trip with the help of the 
IntemeL It's a whole stoiy In Its own right, so 
we'll be k)oklng at this in the next lasuc. 



NAU Internet Contact List 


Ths following NAU readers would welcome e 


-mail contact from other Atari users. If you'd like to 1 


69 added to this list pleas© drop an e-mail note to John S Davison at the address below, 1 


Daniel Baverstock 


dba verstock(3> ml stral .co . u k 


Paul Bramtey 


p.bramley<^&tudent qut. edu.au 


Paul Carlson 


pau|.carlson@hn.se 


vfohnny Chan 


jwchan@cfara.net 


Kevin Cooke 


kj-c0oKe@wp9.uwe ,ac.uk 


Michael Current 


mcu rrenl^carl eton.edu 


John S Davison 


john_davison(gi compuserve.com 


Damian Dixon 


dannian#tenet.co.Lik 


Gary Dundas 


davadar@hotKey.net,au 


Derek Fern 


1 01 755. 2 443<g>co mpuserve.com 


Dean Garraghty 


dg&(@>ol a ra.net 


Joel Goodwin 


jgo od wi n@w fico , co , uK 


Paul Herbert 


1 47378.97@swansea.ac.uk 


Gordon Hooper 


ua558@treenet.victoria.bC!.ca 


Fred Meijer 


f mei j e r(g>ds v . nl 


Ann O'Dfiscoll 


annod<^k3Lie 


Allan Palmer 


1 00644. 1 040@compU£en/e.com 


Paul Rixon 


rixonp.railtrack@ems.rail.co.uk 


Paulo A Rodrigues 


nop25450@malJ.telepacpt 


Brad Rogers 


brad(§> piano sa.de mo n. CO. uh 


Nigel Turton 


npturtE3n@msn.com 


Henning Wright 


kotta@a Igonet , se 


Dante 1 Yell and 


yh182530@&tmail.staff£.ac.tik 


Bryan Zillwood 


bj.zillwood@e)(eier.ac.uk 



54 



Page 6's New Atari User 



contact ... contact ... contact 



Only one notice for CONTACT (/lis issm so Gary Paxtington gets a hugefiee adveiii 

COMPUTER HARDWARE 
FOR SALE 



Atari 800XL computer (dual O/S), 1020 printer. 1027 printer, 1029 
printer - all in good worliin^ order witb power supplies and manuals 

- OFFERS INVn^D 

Modem eable - RS232 25 pin {F)/9pln (F) to 36 pin (M) - £5 

RS232 'D* Connector Convertor 25 pin (F) to 9 pin (M) - £2 

Printer Cable - Centronics - 32 pin (F) to 2S pin (M) - £5 

5.25 Inch computer disks - (55) (some new) - £10 

5.25 Incii disk drive cleaning disk kit - £5 

TeL Gary Partington on 01 758 613524 



FREE TO SUBSCRIBERS 

The CONTACT column Is free of charge to subscribers who wish to sell their 
equipment or contact other readers. Space Is limited so we request that entries be 
kept as short as possible. Extremely long entries may be heavily edited or ignored. 
Send your CONTACT noUoe on a separate sheet of paper [not aa part of a letter) to: 

CONTACT, PAGE 6 PUBUSHIKG, P.O. BOX 54, STAFFORD. ST16 IDR 



FOR SALE ... WANTED ... PEN PALS ... AOVtCE ... HELP 




Certain program listings which are too long to Include In the magazine may be obtained 
free of charge as printed listings to type In. All programs are, however, included on the 
Issue Disk which is available with each Issue. Remember this disk also Includes BONUS 
PROGRAMS which do not appear In the magazine. If you would like the type-In listings 
please write or telephone Indicating which listings you require. Please note that there 
are not necessarily extra listings for eveiy magazine. 

Write to MSTINGS, NEW ATARI USER, P,0. BOX 54, 
^STAFFORD, ST16 IDR or telephone 01785 241153 

Page 6's New Atari User